Merge "Bugfix: throw meaningful error message if creating MeteringPointFactory prematurely" into androidx-master-dev
diff --git a/activity/activity/api/1.2.0-alpha05.txt b/activity/activity/api/1.2.0-alpha05.txt
index bd410fe..a57478dd 100644
--- a/activity/activity/api/1.2.0-alpha05.txt
+++ b/activity/activity/api/1.2.0-alpha05.txt
@@ -89,11 +89,14 @@
     method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
   }
 
-  public final class IntentSenderRequest {
+  public final class IntentSenderRequest implements android.os.Parcelable {
+    method public int describeContents();
     method public android.content.Intent? getFillInIntent();
     method public int getFlagsMask();
     method public int getFlagsValues();
     method public android.content.IntentSender getIntentSender();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
   }
 
   public static final class IntentSenderRequest.Builder {
@@ -101,8 +104,7 @@
     ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
     method public androidx.activity.result.IntentSenderRequest build();
     method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsMask(int);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsValues(int);
+    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
   }
 
 }
@@ -193,6 +195,7 @@
     ctor public ActivityResultContracts.StartActivityForResult();
     method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
   }
 
   public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
@@ -200,6 +203,7 @@
     method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
     field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
     field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
   }
 
diff --git a/activity/activity/api/current.txt b/activity/activity/api/current.txt
index bd410fe..a57478dd 100644
--- a/activity/activity/api/current.txt
+++ b/activity/activity/api/current.txt
@@ -89,11 +89,14 @@
     method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
   }
 
-  public final class IntentSenderRequest {
+  public final class IntentSenderRequest implements android.os.Parcelable {
+    method public int describeContents();
     method public android.content.Intent? getFillInIntent();
     method public int getFlagsMask();
     method public int getFlagsValues();
     method public android.content.IntentSender getIntentSender();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
   }
 
   public static final class IntentSenderRequest.Builder {
@@ -101,8 +104,7 @@
     ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
     method public androidx.activity.result.IntentSenderRequest build();
     method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsMask(int);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsValues(int);
+    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
   }
 
 }
@@ -193,6 +195,7 @@
     ctor public ActivityResultContracts.StartActivityForResult();
     method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
   }
 
   public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
@@ -200,6 +203,7 @@
     method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
     field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
     field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
   }
 
diff --git a/activity/activity/api/public_plus_experimental_1.2.0-alpha05.txt b/activity/activity/api/public_plus_experimental_1.2.0-alpha05.txt
index bdd0997..4053dc1 100644
--- a/activity/activity/api/public_plus_experimental_1.2.0-alpha05.txt
+++ b/activity/activity/api/public_plus_experimental_1.2.0-alpha05.txt
@@ -88,11 +88,14 @@
     method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
   }
 
-  public final class IntentSenderRequest {
+  public final class IntentSenderRequest implements android.os.Parcelable {
+    method public int describeContents();
     method public android.content.Intent? getFillInIntent();
     method public int getFlagsMask();
     method public int getFlagsValues();
     method public android.content.IntentSender getIntentSender();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
   }
 
   public static final class IntentSenderRequest.Builder {
@@ -100,8 +103,7 @@
     ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
     method public androidx.activity.result.IntentSenderRequest build();
     method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsMask(int);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsValues(int);
+    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
   }
 
 }
@@ -192,6 +194,7 @@
     ctor public ActivityResultContracts.StartActivityForResult();
     method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
   }
 
   public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
@@ -199,6 +202,7 @@
     method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
     field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
     field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
   }
 
diff --git a/activity/activity/api/public_plus_experimental_current.txt b/activity/activity/api/public_plus_experimental_current.txt
index bdd0997..4053dc1 100644
--- a/activity/activity/api/public_plus_experimental_current.txt
+++ b/activity/activity/api/public_plus_experimental_current.txt
@@ -88,11 +88,14 @@
     method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
   }
 
-  public final class IntentSenderRequest {
+  public final class IntentSenderRequest implements android.os.Parcelable {
+    method public int describeContents();
     method public android.content.Intent? getFillInIntent();
     method public int getFlagsMask();
     method public int getFlagsValues();
     method public android.content.IntentSender getIntentSender();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
   }
 
   public static final class IntentSenderRequest.Builder {
@@ -100,8 +103,7 @@
     ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
     method public androidx.activity.result.IntentSenderRequest build();
     method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsMask(int);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsValues(int);
+    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
   }
 
 }
@@ -192,6 +194,7 @@
     ctor public ActivityResultContracts.StartActivityForResult();
     method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
   }
 
   public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
@@ -199,6 +202,7 @@
     method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
     field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
     field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
   }
 
diff --git a/activity/activity/api/restricted_1.2.0-alpha05.txt b/activity/activity/api/restricted_1.2.0-alpha05.txt
index bdd0997..4053dc1 100644
--- a/activity/activity/api/restricted_1.2.0-alpha05.txt
+++ b/activity/activity/api/restricted_1.2.0-alpha05.txt
@@ -88,11 +88,14 @@
     method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
   }
 
-  public final class IntentSenderRequest {
+  public final class IntentSenderRequest implements android.os.Parcelable {
+    method public int describeContents();
     method public android.content.Intent? getFillInIntent();
     method public int getFlagsMask();
     method public int getFlagsValues();
     method public android.content.IntentSender getIntentSender();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
   }
 
   public static final class IntentSenderRequest.Builder {
@@ -100,8 +103,7 @@
     ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
     method public androidx.activity.result.IntentSenderRequest build();
     method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsMask(int);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsValues(int);
+    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
   }
 
 }
@@ -192,6 +194,7 @@
     ctor public ActivityResultContracts.StartActivityForResult();
     method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
   }
 
   public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
@@ -199,6 +202,7 @@
     method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
     field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
     field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
   }
 
diff --git a/activity/activity/api/restricted_current.txt b/activity/activity/api/restricted_current.txt
index bdd0997..4053dc1 100644
--- a/activity/activity/api/restricted_current.txt
+++ b/activity/activity/api/restricted_current.txt
@@ -88,11 +88,14 @@
     method public androidx.activity.result.ActivityResultRegistry getActivityResultRegistry();
   }
 
-  public final class IntentSenderRequest {
+  public final class IntentSenderRequest implements android.os.Parcelable {
+    method public int describeContents();
     method public android.content.Intent? getFillInIntent();
     method public int getFlagsMask();
     method public int getFlagsValues();
     method public android.content.IntentSender getIntentSender();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<androidx.activity.result.IntentSenderRequest!> CREATOR;
   }
 
   public static final class IntentSenderRequest.Builder {
@@ -100,8 +103,7 @@
     ctor public IntentSenderRequest.Builder(android.app.PendingIntent);
     method public androidx.activity.result.IntentSenderRequest build();
     method public androidx.activity.result.IntentSenderRequest.Builder setFillInIntent(android.content.Intent?);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsMask(int);
-    method public androidx.activity.result.IntentSenderRequest.Builder setFlagsValues(int);
+    method public androidx.activity.result.IntentSenderRequest.Builder setFlags(int, int);
   }
 
 }
@@ -192,6 +194,7 @@
     ctor public ActivityResultContracts.StartActivityForResult();
     method public android.content.Intent createIntent(android.content.Context, android.content.Intent);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
+    field public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result.contract.extra.ACTIVITY_OPTIONS_BUNDLE";
   }
 
   public static final class ActivityResultContracts.StartIntentSenderForResult extends androidx.activity.result.contract.ActivityResultContract<androidx.activity.result.IntentSenderRequest,androidx.activity.result.ActivityResult> {
@@ -199,6 +202,7 @@
     method public android.content.Intent createIntent(android.content.Context, androidx.activity.result.IntentSenderRequest);
     method public androidx.activity.result.ActivityResult parseResult(int, android.content.Intent?);
     field public static final String ACTION_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.action.INTENT_SENDER_REQUEST";
+    field public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result.contract.extra.INTENT_SENDER_REQUEST";
     field public static final String EXTRA_SEND_INTENT_EXCEPTION = "androidx.activity.result.contract.extra.SEND_INTENT_EXCEPTION";
   }
 
diff --git a/activity/activity/src/main/java/androidx/activity/ComponentActivity.java b/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
index 96a1451..338e9ad 100644
--- a/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
+++ b/activity/activity/src/main/java/androidx/activity/ComponentActivity.java
@@ -23,8 +23,10 @@
 import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSIONS;
 import static androidx.activity.result.contract.ActivityResultContracts.RequestMultiplePermissions.EXTRA_PERMISSION_GRANT_RESULTS;
 import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult;
+import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult.EXTRA_ACTIVITY_OPTIONS_BUNDLE;
 import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult;
 import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.ACTION_INTENT_SENDER_REQUEST;
+import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.EXTRA_INTENT_SENDER_REQUEST;
 import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.EXTRA_SEND_INTENT_EXCEPTION;
 
 import android.annotation.SuppressLint;
@@ -177,7 +179,8 @@
                             nonGrantedPermissions.toArray(new String[0]), requestCode);
                 }
             } else if (ACTION_INTENT_SENDER_REQUEST.equals(intent.getAction())) {
-                IntentSenderRequest request = (IntentSenderRequest) input;
+                IntentSenderRequest request =
+                        intent.getParcelableExtra(EXTRA_INTENT_SENDER_REQUEST);
                 try {
                     ActivityCompat.startIntentSenderForResult(activity, request.getIntentSender(),
                             requestCode, request.getFillInIntent(),
@@ -195,8 +198,13 @@
                 }
             } else {
                 // startActivityForResult path
-                ActivityCompat.startActivityForResult(activity, intent, requestCode,
-                        options != null ? options.toBundle() : null);
+                Bundle optionsBundle = null;
+                if (intent.hasExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE)) {
+                    optionsBundle = intent.getBundleExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE);
+                } else if (options != null) {
+                    optionsBundle = options.toBundle();
+                }
+                ActivityCompat.startActivityForResult(activity, intent, requestCode, optionsBundle);
             }
         }
     };
diff --git a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java b/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java
index 3d9760a..59c7d94 100644
--- a/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java
+++ b/activity/activity/src/main/java/androidx/activity/result/ActivityResultRegistry.java
@@ -58,7 +58,8 @@
 
     private static final String LOG_TAG = "ActivityResultRegistry";
 
-    private final AtomicInteger mNextRc = new AtomicInteger(0);
+    // Use upper 16 bits for request codes
+    private final AtomicInteger mNextRc = new AtomicInteger(0x0000ffff);
     private final Map<Integer, String> mRcToKey = new HashMap<>();
     private final Map<String, Integer> mKeyToRc = new HashMap<>();
 
diff --git a/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java b/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java
index 6af1cf5..4a6c6b9 100644
--- a/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java
+++ b/activity/activity/src/main/java/androidx/activity/result/IntentSenderRequest.java
@@ -16,9 +16,12 @@
 
 package androidx.activity.result;
 
+import android.annotation.SuppressLint;
 import android.app.PendingIntent;
 import android.content.Intent;
 import android.content.IntentSender;
+import android.os.Parcel;
+import android.os.Parcelable;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -28,7 +31,8 @@
  * {@link androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult}
  * Activity Contract.
  */
-public final class IntentSenderRequest {
+@SuppressLint("BanParcelableUsage")
+public final class IntentSenderRequest implements Parcelable {
     @NonNull
     private final IntentSender mIntentSender;
     @Nullable
@@ -83,6 +87,40 @@
         return mFlagsValues;
     }
 
+    @SuppressWarnings("ConstantConditions")
+    IntentSenderRequest(@NonNull Parcel in) {
+        mIntentSender = in.readParcelable(IntentSender.class.getClassLoader());
+        mFillInIntent = in.readParcelable(Intent.class.getClassLoader());
+        mFlagsMask = in.readInt();
+        mFlagsValues = in.readInt();
+    }
+
+    @NonNull
+    public static final Creator<IntentSenderRequest> CREATOR = new Creator<IntentSenderRequest>() {
+        @Override
+        public IntentSenderRequest createFromParcel(Parcel in) {
+            return new IntentSenderRequest(in);
+        }
+
+        @Override
+        public IntentSenderRequest[] newArray(int size) {
+            return new IntentSenderRequest[size];
+        }
+    };
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(@NonNull Parcel dest, int flags) {
+        dest.writeParcelable(mIntentSender, flags);
+        dest.writeParcelable(mFillInIntent, flags);
+        dest.writeInt(mFlagsMask);
+        dest.writeInt(mFlagsValues);
+    }
+
     /**
      * A builder for constructing {@link IntentSenderRequest} instances.
      */
@@ -126,28 +164,19 @@
         }
 
         /**
-         * Set the flag mask for the {@link IntentSenderRequest}.
+         * Set the flag mask and flag values for the {@link IntentSenderRequest}.
          *
-         * @param flagsMask mask to go in the IntentSenderRequest. Intent flags in the original
-         *                  IntentSender that you would like to change.
+         * @param mask mask to go in the IntentSenderRequest. Intent flags in the original
+         *             IntentSender that you would like to change.
+         * @param values flagValues to go in the IntentSenderRequest. Desired values for any bits
+         *             set in flagsMask
+         *
          * @return This builder.
          */
         @NonNull
-        public Builder setFlagsMask(int flagsMask) {
-            mFlagsMask = flagsMask;
-            return this;
-        }
-
-        /**
-         * Set the flag values for the {@link IntentSenderRequest}.
-         *
-         * @param flagsValues flagValues to go in the IntentSenderRequest. Desired values for any
-         *                  bits set in flagsMask
-         * @return This builder.
-         */
-        @NonNull
-        public Builder setFlagsValues(int flagsValues) {
-            mFlagsValues = flagsValues;
+        public Builder setFlags(int mask, int values) {
+            mFlagsMask = mask;
+            mFlagsValues = values;
             return this;
         }
 
diff --git a/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java b/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java
index 48ff7a8..cb1497d 100644
--- a/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java
+++ b/activity/activity/src/main/java/androidx/activity/result/contract/ActivityResultContracts.java
@@ -41,6 +41,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.collection.ArrayMap;
+import androidx.core.app.ActivityOptionsCompat;
 import androidx.core.content.ContextCompat;
 
 import java.util.ArrayList;
@@ -67,6 +68,18 @@
     public static final class StartActivityForResult
             extends ActivityResultContract<Intent, ActivityResult> {
 
+        /**
+         * Key for the extra containing a {@link android.os.Bundle} generated from
+         * {@link androidx.core.app.ActivityOptionsCompat#toBundle()} or
+         * {@link android.app.ActivityOptions#toBundle()}.
+         *
+         * This will override any {@link ActivityOptionsCompat} passed to
+         * {@link androidx.activity.result.ActivityResultLauncher#launch(Object,
+         ActivityOptionsCompat)}
+         */
+        public static final String EXTRA_ACTIVITY_OPTIONS_BUNDLE = "androidx.activity.result"
+                + ".contract.extra.ACTIVITY_OPTIONS_BUNDLE";
+
         @NonNull
         @Override
         public Intent createIntent(@NonNull Context context, @NonNull Intent input) {
@@ -108,6 +121,14 @@
                 + ".contract.action.INTENT_SENDER_REQUEST";
 
         /**
+         * Key for the extra containing the {@link IntentSenderRequest}.
+         *
+         * @see #ACTION_INTENT_SENDER_REQUEST
+         */
+        public static final String EXTRA_INTENT_SENDER_REQUEST = "androidx.activity.result"
+                + ".contract.extra.INTENT_SENDER_REQUEST";
+
+        /**
          * Key for the extra containing the {@link android.content.IntentSender.SendIntentException}
          * if the call to
          * {@link Activity#startIntentSenderForResult(IntentSender, int, Intent, int, int, int)}
@@ -119,7 +140,8 @@
         @NonNull
         @Override
         public Intent createIntent(@NonNull Context context, @NonNull IntentSenderRequest input) {
-            return new Intent(ACTION_INTENT_SENDER_REQUEST);
+            return new Intent(ACTION_INTENT_SENDER_REQUEST)
+                    .putExtra(EXTRA_INTENT_SENDER_REQUEST, input);
         }
 
         @NonNull
diff --git a/appcompat/appcompat/src/androidTest/AndroidManifest.xml b/appcompat/appcompat/src/androidTest/AndroidManifest.xml
index 5b0be91..99fab52 100644
--- a/appcompat/appcompat/src/androidTest/AndroidManifest.xml
+++ b/appcompat/appcompat/src/androidTest/AndroidManifest.xml
@@ -96,7 +96,7 @@
         <activity
             android:name="androidx.appcompat.widget.AppCompatEditTextActivity"
             android:label="@string/app_compat_edit_text_activity"
-            android:theme="@style/Theme.AppCompat.Light"/>
+            android:theme="@style/Theme.TextColors"/>
 
         <activity
             android:name="androidx.appcompat.widget.AppCompatButtonAutoSizeActivity"
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java
index bc5214f..382a3cc 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatEditTextTest.java
@@ -19,12 +19,17 @@
 import static org.junit.Assert.assertEquals;
 
 import android.content.Context;
+import android.content.res.ColorStateList;
 import android.text.Editable;
 import android.text.Layout;
 import android.view.textclassifier.TextClassificationManager;
 import android.view.textclassifier.TextClassifier;
+import android.widget.EditText;
 
+import androidx.annotation.ColorRes;
 import androidx.appcompat.test.R;
+import androidx.core.content.ContextCompat;
+import androidx.core.widget.TextViewCompat;
 import androidx.test.annotation.UiThreadTest;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.filters.LargeTest;
@@ -134,6 +139,36 @@
         assertEquals(Layout.BREAK_STRATEGY_BALANCED, editText.getBreakStrategy());
     }
 
+    private void verifyTextHintColor(EditText textView,
+            @ColorRes int expectedEnabledColor, @ColorRes int expectedDisabledColor) {
+        ColorStateList hintColorStateList = textView.getHintTextColors();
+        assertEquals(ContextCompat.getColor(textView.getContext(), expectedEnabledColor),
+                hintColorStateList.getColorForState(new int[]{android.R.attr.state_enabled}, 0));
+        assertEquals(ContextCompat.getColor(textView.getContext(), expectedDisabledColor),
+                hintColorStateList.getColorForState(new int[]{-android.R.attr.state_enabled}, 0));
+    }
+
+    @Test
+    @UiThreadTest
+    public void testTextHintColor() {
+        EditText editLinkEnabledView = mActivityTestRule.getActivity().findViewById(
+                R.id.view_edit_hint_enabled);
+        EditText editLinkDisabledView = mActivityTestRule.getActivity().findViewById(
+                R.id.view_edit_hint_disabled);
+
+        // Verify initial enabled and disabled text hint colors set from the activity theme
+        verifyTextHintColor(editLinkEnabledView, R.color.ocean_default, R.color.ocean_disabled);
+        verifyTextHintColor(editLinkDisabledView, R.color.ocean_default, R.color.ocean_disabled);
+
+        // Set new text appearance on the two views - the appearance has new text hint color
+        // state list that references theme-level attributes. And verify that the new text
+        // hint colors are correctly resolved.
+        TextViewCompat.setTextAppearance(editLinkEnabledView, R.style.TextStyleNew);
+        verifyTextHintColor(editLinkEnabledView, R.color.lilac_default, R.color.lilac_disabled);
+        TextViewCompat.setTextAppearance(editLinkDisabledView, R.style.TextStyleNew);
+        verifyTextHintColor(editLinkDisabledView, R.color.lilac_default, R.color.lilac_disabled);
+    }
+
     @SdkSuppress(minSdkVersion = 26)
     @Test
     public void testGetTextClassifier() {
diff --git a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java
index c9c8d5f..c5b292a 100644
--- a/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java
+++ b/appcompat/appcompat/src/androidTest/java/androidx/appcompat/widget/AppCompatTextViewTest.java
@@ -48,6 +48,7 @@
 import android.widget.TextView;
 
 import androidx.annotation.ColorInt;
+import androidx.annotation.ColorRes;
 import androidx.annotation.GuardedBy;
 import androidx.appcompat.content.res.AppCompatResources;
 import androidx.appcompat.test.R;
@@ -204,18 +205,32 @@
                 textView.getCurrentTextColor());
     }
 
-    private void verifyTextLinkColor(TextView textView) {
+    private void verifyTextLinkColor(TextView textView,
+            @ColorRes int expectedEnabledColor, @ColorRes int expectedDisabledColor) {
         ColorStateList linkColorStateList = textView.getLinkTextColors();
-        assertEquals(ContextCompat.getColor(textView.getContext(), R.color.lilac_default),
+        assertEquals(ContextCompat.getColor(textView.getContext(), expectedEnabledColor),
                 linkColorStateList.getColorForState(new int[]{android.R.attr.state_enabled}, 0));
-        assertEquals(ContextCompat.getColor(textView.getContext(), R.color.lilac_disabled),
+        assertEquals(ContextCompat.getColor(textView.getContext(), expectedDisabledColor),
                 linkColorStateList.getColorForState(new int[]{-android.R.attr.state_enabled}, 0));
     }
 
     @Test
+    @UiThreadTest
     public void testTextLinkColor() {
-        verifyTextLinkColor((TextView) mContainer.findViewById(R.id.view_text_link_enabled));
-        verifyTextLinkColor((TextView) mContainer.findViewById(R.id.view_text_link_disabled));
+        TextView textLinkEnabledView = mContainer.findViewById(R.id.view_text_link_enabled);
+        TextView textLinkDisabledView = mContainer.findViewById(R.id.view_text_link_disabled);
+
+        // Verify initial enabled and disabled text link colors set from the activity theme
+        verifyTextLinkColor(textLinkEnabledView, R.color.lilac_default, R.color.lilac_disabled);
+        verifyTextLinkColor(textLinkDisabledView, R.color.lilac_default, R.color.lilac_disabled);
+
+        // Set new text appearance on the two views - the appearance has new text link color
+        // state list that references theme-level attributes. And verify that the new text
+        // link colors are correctly resolved.
+        TextViewCompat.setTextAppearance(textLinkEnabledView, R.style.TextStyleNew);
+        verifyTextLinkColor(textLinkEnabledView, R.color.ocean_default, R.color.ocean_disabled);
+        TextViewCompat.setTextAppearance(textLinkDisabledView, R.style.TextStyleNew);
+        verifyTextLinkColor(textLinkDisabledView, R.color.ocean_default, R.color.ocean_disabled);
     }
 
     @Test
diff --git a/ui/ui-platform/src/main/AndroidManifest.xml b/appcompat/appcompat/src/androidTest/res/color/color_state_list_hint.xml
similarity index 68%
copy from ui/ui-platform/src/main/AndroidManifest.xml
copy to appcompat/appcompat/src/androidTest/res/color/color_state_list_hint.xml
index 1d5345b..3b2a767 100644
--- a/ui/ui-platform/src/main/AndroidManifest.xml
+++ b/appcompat/appcompat/src/androidTest/res/color/color_state_list_hint.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 The Android Open Source Project
+<!-- Copyright (C) 2020 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,4 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<manifest package="androidx.ui.platform" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/ocean_disabled"
+          android:state_enabled="false"/>
+    <item android:color="@color/ocean_default"/>
+</selector>
\ No newline at end of file
diff --git a/ui/ui-platform/src/main/AndroidManifest.xml b/appcompat/appcompat/src/androidTest/res/color/color_state_list_refs12.xml
similarity index 70%
rename from ui/ui-platform/src/main/AndroidManifest.xml
rename to appcompat/appcompat/src/androidTest/res/color/color_state_list_refs12.xml
index 1d5345b..cdc657f 100644
--- a/ui/ui-platform/src/main/AndroidManifest.xml
+++ b/appcompat/appcompat/src/androidTest/res/color/color_state_list_refs12.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 The Android Open Source Project
+<!-- Copyright (C) 2020 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,4 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<manifest package="androidx.ui.platform" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="?color2"
+          android:state_enabled="false"/>
+    <item android:color="?color1"/>
+</selector>
\ No newline at end of file
diff --git a/ui/ui-platform/src/main/AndroidManifest.xml b/appcompat/appcompat/src/androidTest/res/color/color_state_list_refs34.xml
similarity index 70%
copy from ui/ui-platform/src/main/AndroidManifest.xml
copy to appcompat/appcompat/src/androidTest/res/color/color_state_list_refs34.xml
index 1d5345b..5a7d651 100644
--- a/ui/ui-platform/src/main/AndroidManifest.xml
+++ b/appcompat/appcompat/src/androidTest/res/color/color_state_list_refs34.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 The Android Open Source Project
+<!-- Copyright (C) 2020 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -13,4 +13,8 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<manifest package="androidx.ui.platform" />
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="?color4"
+          android:state_enabled="false"/>
+    <item android:color="?color3"/>
+</selector>
\ No newline at end of file
diff --git a/appcompat/appcompat/src/androidTest/res/layout/appcompat_edittext_activity.xml b/appcompat/appcompat/src/androidTest/res/layout/appcompat_edittext_activity.xml
index f8748f6..edcb6c8 100644
--- a/appcompat/appcompat/src/androidTest/res/layout/appcompat_edittext_activity.xml
+++ b/appcompat/appcompat/src/androidTest/res/layout/appcompat_edittext_activity.xml
@@ -38,6 +38,19 @@
             android:hyphenationFrequency="full"
             android:breakStrategy="balanced"/>
 
+        <androidx.appcompat.widget.AppCompatEditText
+            android:id="@+id/view_edit_hint_enabled"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:hint="@string/text_hint_enabled"/>
+
+        <androidx.appcompat.widget.AppCompatEditText
+            android:id="@+id/view_edit_hint_disabled"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:enabled="false"
+            android:hint="@string/text_hint_disabled"/>
+
     </LinearLayout>
 
 </ScrollView>
diff --git a/ui/ui-framework/src/main/res/values/ids.xml b/appcompat/appcompat/src/androidTest/res/values/attrs.xml
similarity index 74%
rename from ui/ui-framework/src/main/res/values/ids.xml
rename to appcompat/appcompat/src/androidTest/res/values/attrs.xml
index bdae099..207c6f6 100644
--- a/ui/ui-framework/src/main/res/values/ids.xml
+++ b/appcompat/appcompat/src/androidTest/res/values/attrs.xml
@@ -1,4 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?><!--
+<?xml version="1.0" encoding="utf-8"?>
+<!--
   Copyright 2020 The Android Open Source Project
 
   Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,5 +16,8 @@
   -->
 
 <resources>
-    <item name="wrapped_composition_tag" type="id" />
+    <attr name="color1" format="color"/>
+    <attr name="color2" format="color"/>
+    <attr name="color3" format="color"/>
+    <attr name="color4" format="color"/>
 </resources>
\ No newline at end of file
diff --git a/appcompat/appcompat/src/androidTest/res/values/strings.xml b/appcompat/appcompat/src/androidTest/res/values/strings.xml
index 9b0c971..bd41846 100644
--- a/appcompat/appcompat/src/androidTest/res/values/strings.xml
+++ b/appcompat/appcompat/src/androidTest/res/values/strings.xml
@@ -139,6 +139,8 @@
 
     <string name="text_link_enabled">With <a href="http://www.google.com">link</a> enabled</string>
     <string name="text_link_disabled">With <a href="http://www.google.com">link</a> disabled</string>
+    <string name="text_hint_enabled">Enabled hint</string>
+    <string name="text_hint_disabled">Disabled hint</string>
 
     <string name="menu1">menu one</string>
     <string name="menu2">menu two</string>
diff --git a/appcompat/appcompat/src/androidTest/res/values/styles.xml b/appcompat/appcompat/src/androidTest/res/values/styles.xml
index d22dcb3..77b0d6c 100644
--- a/appcompat/appcompat/src/androidTest/res/values/styles.xml
+++ b/appcompat/appcompat/src/androidTest/res/values/styles.xml
@@ -29,6 +29,11 @@
         <item name="android:textColorPrimary">#FF0000FF</item>
         <item name="android:textColorSecondary">@color/color_state_list_sand</item>
         <item name="android:textColorLink">@color/color_state_list_link</item>
+        <item name="android:textColorHint">@color/color_state_list_hint</item>
+        <item name="color1">@color/ocean_default</item>
+        <item name="color2">@color/ocean_disabled</item>
+        <item name="color3">@color/lilac_default</item>
+        <item name="color4">@color/lilac_disabled</item>
     </style>
 
     <style name="Theme.CustomInflater" parent="@style/Theme.AppCompat.Light">
@@ -51,6 +56,11 @@
         <item name="textAllCaps">false</item>
     </style>
 
+    <style name="TextStyleNew" parent="@android:style/TextAppearance.Medium">
+        <item name="android:textColorLink">@color/color_state_list_refs12</item>
+        <item name="android:textColorHint">@color/color_state_list_refs34</item>
+    </style>
+
     <style name="MagentaThemeOverlay">
         <item name="colorAccent">@color/test_magenta</item>
     </style>
diff --git a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextHelper.java b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextHelper.java
index 186bafcb..cffc372 100644
--- a/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextHelper.java
+++ b/appcompat/appcompat/src/main/java/androidx/appcompat/widget/AppCompatTextHelper.java
@@ -450,14 +450,29 @@
             // app:textAllCaps has the chance to override it
             setAllCaps(a.getBoolean(R.styleable.TextAppearance_textAllCaps, false));
         }
-        if (Build.VERSION.SDK_INT < 23
-                && a.hasValue(R.styleable.TextAppearance_android_textColor)) {
-            // If we're running on < API 23, the text color may contain theme references
+        if (Build.VERSION.SDK_INT < 23) {
+            // If we're running on < API 23, the text colors may contain theme references
             // so let's re-set using our own inflater
-            final ColorStateList textColor
-                    = a.getColorStateList(R.styleable.TextAppearance_android_textColor);
-            if (textColor != null) {
-                mView.setTextColor(textColor);
+            if (a.hasValue(R.styleable.TextAppearance_android_textColor)) {
+                final ColorStateList textColor =
+                        a.getColorStateList(R.styleable.TextAppearance_android_textColor);
+                if (textColor != null) {
+                    mView.setTextColor(textColor);
+                }
+            }
+            if (a.hasValue(R.styleable.TextAppearance_android_textColorLink)) {
+                final ColorStateList textColorLink =
+                        a.getColorStateList(R.styleable.TextAppearance_android_textColorLink);
+                if (textColorLink != null) {
+                    mView.setLinkTextColor(textColorLink);
+                }
+            }
+            if (a.hasValue(R.styleable.TextAppearance_android_textColorHint)) {
+                final ColorStateList textColorHint =
+                        a.getColorStateList(R.styleable.TextAppearance_android_textColorHint);
+                if (textColorHint != null) {
+                    mView.setHintTextColor(textColorHint);
+                }
             }
         }
         // For SDK <= P, when the text size attribute is 0, this would not be set. Fix this here.
diff --git a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt
index e92ed60..61aecce 100644
--- a/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt
+++ b/benchmark/gradle-plugin/src/main/kotlin/androidx/benchmark/gradle/LockClocksTask.kt
@@ -61,13 +61,17 @@
 
         // Files pushed by adb push don't always preserve file permissions.
         adb.execSync("shell chmod 700 $dest")
+
+        // Forward gradle arguments to lockClocks.sh.
+        val coresArg = project.findProperty("androidx.benchmark.lockClocks.cores")
+
         if (!isAdbdRoot) {
             // Default shell is not running as root, escalate with su 0. Although the root group is
             // su's default, using syntax different from "su gid cmd", can cause the adb shell
             // command to hang on some devices.
-            adb.execSync("shell su 0 $dest")
+            adb.execSync("shell su 0 $dest ${coresArg ?: ""}")
         } else {
-            adb.execSync("shell $dest")
+            adb.execSync("shell $dest ${coresArg ?: ""}")
         }
         adb.execSync("shell rm $dest")
     }
diff --git a/benchmark/gradle-plugin/src/main/resources/scripts/lockClocks.sh b/benchmark/gradle-plugin/src/main/resources/scripts/lockClocks.sh
index 5561452..7566bdb 100755
--- a/benchmark/gradle-plugin/src/main/resources/scripts/lockClocks.sh
+++ b/benchmark/gradle-plugin/src/main/resources/scripts/lockClocks.sh
@@ -30,6 +30,8 @@
 #      can't use `cut` on < L
 #      can't use `expr` on < L
 
+ARG_CORES=${1:-big}
+
 CPU_TARGET_FREQ_PERCENT=50
 GPU_TARGET_FREQ_PERCENT=50
 
@@ -39,7 +41,7 @@
         echo "Pushing $0 and running it on device..."
         dest=/data/local/tmp/`basename $0`
         adb push $0 ${dest}
-        adb shell ${dest}
+        adb shell ${dest} $@
         adb shell rm ${dest}
         exit
     else
@@ -60,14 +62,34 @@
 DEVICE=`getprop ro.product.device`
 MODEL=`getprop ro.product.model`
 
-# Find CPU max frequency, and lock big cores to an available frequency
-# that's >= $CPU_TARGET_FREQ_PERCENT% of max. Disable other cores.
+if [ "$ARG_CORES" == "big" ]; then
+    CPU_IDEAL_START_FREQ_KHZ=0
+elif [ "$ARG_CORES" == "little" ]; then
+    CPU_IDEAL_START_FREQ_KHZ=100000000 ## finding min of max freqs, so start at 100M KHz (100 GHz)
+else
+    echo "Invalid argument \$1 for ARG_CORES, should be 'big' or 'little', but was $ARG_CORES"
+    exit -1
+fi
+
+function_core_check() {
+    if [ "$ARG_CORES" == "big" ]; then
+        [ $1 -gt $2 ]
+    elif [ "$ARG_CORES" == "little" ]; then
+        [ $1 -lt $2 ]
+    else
+        echo "Invalid argument \$1 for ARG_CORES, should be 'big' or 'little', but was $ARG_CORES"
+        exit -1
+    fi
+}
+
+# Find the min or max (little vs big) of CPU max frequency, and lock cores of the selected type to
+# an available frequency that's >= $CPU_TARGET_FREQ_PERCENT% of max. Disable other cores.
 function_lock_cpu() {
     CPU_BASE=/sys/devices/system/cpu
     GOV=cpufreq/scaling_governor
 
     # Find max CPU freq, and associated list of available freqs
-    cpuMaxFreq=0
+    cpuIdealFreq=$CPU_IDEAL_START_FREQ_KHZ
     cpuAvailFreqCmpr=0
     cpuAvailFreq=0
     enableIndices=''
@@ -84,30 +106,40 @@
         availFreq=`cat ${CPU_BASE}/cpu$cpu/cpufreq/scaling_available_frequencies`
         availFreqCmpr=${availFreq// /-}
 
-        if [ ${maxFreq} -gt ${cpuMaxFreq} ]; then
-            # new highest max freq, look for cpus with same max freq and same avail freq list
-            cpuMaxFreq=${maxFreq}
+        if (function_core_check $maxFreq $cpuIdealFreq); then
+            # new min/max of max freq, look for cpus with same max freq and same avail freq list
+            cpuIdealFreq=${maxFreq}
             cpuAvailFreq=${availFreq}
             cpuAvailFreqCmpr=${availFreqCmpr}
 
-            if [ -z ${disableIndices} ]; then
+            if [ -z "$disableIndices" ]; then
                 disableIndices="$enableIndices"
             else
                 disableIndices="$disableIndices $enableIndices"
             fi
             enableIndices=${cpu}
-        elif [ ${maxFreq} == ${cpuMaxFreq} ] && [ ${availFreqCmpr} == ${cpuAvailFreqCmpr} ]; then
+        elif [ ${maxFreq} == ${cpuIdealFreq} ] && [ ${availFreqCmpr} == ${cpuAvailFreqCmpr} ]; then
             enableIndices="$enableIndices $cpu"
         else
-            disableIndices="$disableIndices $cpu"
+            if [ -z "$disableIndices" ]; then
+                disableIndices="$cpu"
+            else
+                disableIndices="$disableIndices $cpu"
+            fi
         fi
 
         cpu=$(($cpu + 1))
     done
 
+    # check that some CPUs will be enabled
+    if [ -z "$enableIndices" ]; then
+        echo "Failed to find any $ARG_CORES cores to enable, aborting."
+        exit -1
+    fi
+
     # Chose a frequency to lock to that's >= $CPU_TARGET_FREQ_PERCENT% of max
     # (below, 100M = 1K for KHz->MHz * 100 for %)
-    TARGET_FREQ_MHZ=$(( (${cpuMaxFreq} * ${CPU_TARGET_FREQ_PERCENT}) / 100000 ))
+    TARGET_FREQ_MHZ=$(( (${cpuIdealFreq} * ${CPU_TARGET_FREQ_PERCENT}) / 100000 ))
     chosenFreq=0
     for freq in ${cpuAvailFreq}; do
         freqMhz=$(( ${freq} / 1000 ))
@@ -145,7 +177,7 @@
     done
 
     echo "=================================="
-    echo "Locked CPUs ${enableIndices// /,} to $chosenFreq / $maxFreq KHz"
+    echo "Locked CPUs ${enableIndices// /,} to $chosenFreq / $cpuIdealFreq KHz"
     echo "Disabled CPUs ${disableIndices// /,}"
     echo "=================================="
 }
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXGradleProperties.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXGradleProperties.kt
index 6ca81d5..13ae3be 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXGradleProperties.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXGradleProperties.kt
@@ -39,3 +39,15 @@
  */
 fun Project.isVersionedApiFileWritingEnabled(): Boolean =
     (project.findProperty("androidx.writeVersionedApiFiles") as? String)?.toBoolean() ?: true
+
+/**
+ * Returns whether the project should generate documentation.
+ */
+fun Project.isDocumentationEnabled(): Boolean =
+    (project.findProperty("androidx.enableDocumentation") as? String)?.toBoolean() ?: true
+
+/**
+ * Returns whether the project has coverage enabled.
+ */
+fun Project.isCoverageEnabled(): Boolean =
+    (project.findProperty("androidx.coverageEnabled") as? String)?.toBoolean() ?: true
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
index 53c143c..52e7f76 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXPlugin.kt
@@ -103,7 +103,9 @@
         // is called after DiffAndDocs.configureDiffAndDocs. b/129762955
         project.configureMavenArtifactUpload(extension)
 
-        project.configureJacoco()
+        if (project.isCoverageEnabled()) {
+            project.configureJacoco()
+        }
 
         // Perform different actions based on which plugins have been applied to the project.
         // Many of the actions overlap, ex. API tracking and documentation.
@@ -236,7 +238,9 @@
 
         // Standard lint, docs, and Metalava configuration for AndroidX projects.
         project.configureAndroidProjectForLint(libraryExtension.lintOptions, androidXExtension)
-        project.configureAndroidProjectForDokka(libraryExtension, androidXExtension)
+        if (project.isDocumentationEnabled()) {
+            project.configureAndroidProjectForDokka(libraryExtension, androidXExtension)
+        }
         project.configureAndroidProjectForMetalava(libraryExtension, androidXExtension)
 
         project.addToProjectMap(androidXExtension)
@@ -271,7 +275,9 @@
 
         // Standard lint, docs, and Metalava configuration for AndroidX projects.
         project.configureNonAndroidProjectForLint(extension)
-        project.configureJavaProjectForDokka(extension)
+        if (project.isDocumentationEnabled()) {
+            project.configureJavaProjectForDokka(extension)
+        }
         project.configureJavaProjectForMetalava(extension)
 
         project.afterEvaluate {
@@ -372,7 +378,9 @@
             }
         }
 
-        Jacoco.registerClassFilesTask(project, this)
+        if (project.isCoverageEnabled()) {
+            Jacoco.registerClassFilesTask(project, this)
+        }
 
         val buildTestApksTask = project.rootProject.tasks.named(BUILD_TEST_APKS_TASK)
         testVariants.all { variant ->
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXRootPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXRootPlugin.kt
index ec37f4b..b089d4f6 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXRootPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXRootPlugin.kt
@@ -118,18 +118,25 @@
             }
         }
 
-        val createCoverageJarTask = Jacoco.createCoverageJarTask(this)
-        tasks.register(AndroidXPlugin.BUILD_TEST_APKS_TASK) {
-            it.dependsOn(createCoverageJarTask)
+        val buildTestApks = tasks.register(AndroidXPlugin.BUILD_TEST_APKS_TASK)
+        if (project.isCoverageEnabled()) {
+            val createCoverageJarTask = Jacoco.createCoverageJarTask(this)
+            buildTestApks.configure {
+                it.dependsOn(createCoverageJarTask)
+            }
+            buildOnServerTask.dependsOn(createCoverageJarTask)
+            buildOnServerTask.dependsOn(Jacoco.createZipEcFilesTask(this))
+            buildOnServerTask.dependsOn(Jacoco.createUberJarTask(this))
         }
-        buildOnServerTask.dependsOn(createCoverageJarTask)
-        buildOnServerTask.dependsOn(Jacoco.createZipEcFilesTask(this))
 
-        val allDocsTask = DiffAndDocs.configureDiffAndDocs(this,
-            DacOptions("androidx", "ANDROIDX_DATA"),
-            listOf(RELEASE_RULE))
-        buildOnServerTask.dependsOn(allDocsTask)
-        buildOnServerTask.dependsOn(Jacoco.createUberJarTask(this))
+        if (project.isDocumentationEnabled()) {
+            val allDocsTask = DiffAndDocs.configureDiffAndDocs(
+                this,
+                DacOptions("androidx", "ANDROIDX_DATA"),
+                listOf(RELEASE_RULE)
+            )
+            buildOnServerTask.dependsOn(allDocsTask)
+        }
 
         AffectedModuleDetector.configure(gradle, this)
 
diff --git a/buildSrc/src/main/kotlin/androidx/build/AndroidXUiPlugin.kt b/buildSrc/src/main/kotlin/androidx/build/AndroidXUiPlugin.kt
index 8c9ce34..b7c096ea 100644
--- a/buildSrc/src/main/kotlin/androidx/build/AndroidXUiPlugin.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/AndroidXUiPlugin.kt
@@ -18,9 +18,14 @@
 
 import com.android.build.gradle.LibraryExtension
 import com.android.build.gradle.LibraryPlugin
+import org.gradle.api.DomainObjectCollection
 import org.gradle.api.Plugin
 import org.gradle.api.Project
+import org.gradle.kotlin.dsl.findByType
+import org.gradle.kotlin.dsl.invoke
 import org.jetbrains.kotlin.gradle.plugin.KotlinBasePluginWrapper
+import org.jetbrains.kotlin.gradle.plugin.KotlinMultiplatformPluginWrapper
+import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 /**
@@ -28,12 +33,8 @@
  */
 class AndroidXUiPlugin : Plugin<Project> {
     override fun apply(project: Project) {
-        project.tasks.withType(KotlinCompile::class.java).configureEach { compile ->
-            compile.kotlinOptions.freeCompilerArgs +=
-                listOf("-P", "plugin:androidx.compose.plugins.idea:enabled=true")
-        }
-        project.plugins.all {
-            when (it) {
+        project.plugins.all { plugin ->
+            when (plugin) {
                 is LibraryPlugin -> {
                     val library = project.extensions.findByType(LibraryExtension::class.java)
                         ?: throw Exception("Failed to find Android extension")
@@ -65,6 +66,8 @@
                     val conf = project.configurations.create("kotlinPlugin")
 
                     project.tasks.withType(KotlinCompile::class.java).configureEach { compile ->
+                        compile.kotlinOptions.freeCompilerArgs +=
+                            listOf("-P", "plugin:androidx.compose.plugins.idea:enabled=true")
                         compile.dependsOn(conf)
                         compile.doFirst {
                             if (!conf.isEmpty) {
@@ -73,8 +76,67 @@
                             }
                         }
                     }
+
+                    if (plugin is KotlinMultiplatformPluginWrapper) {
+                        project.configureForMultiplatform()
+                    }
                 }
             }
         }
     }
 }
+
+/**
+ * General configuration for MPP projects. In the future, these workarounds should either be
+ * generified and added to AndroidXPlugin, or removed as/when the underlying issues have been
+ * resolved.
+ */
+private fun Project.configureForMultiplatform() {
+    val libraryExtension = project.extensions.findByType<LibraryExtension>() ?: return
+
+    // TODO: b/148416113: AGP doesn't know about Kotlin-MPP's sourcesets yet, so add
+    // them to its source directories (this fixes lint, and code completion in
+    // Android Studio on versions >= 4.0canary8)
+    libraryExtension.apply {
+        sourceSets.findByName("main")?.apply {
+            java.srcDirs("src/commonMain/kotlin", "src/jvmMain/kotlin", "src/androidMain/kotlin")
+        }
+        sourceSets.findByName("test")?.apply {
+            java.srcDirs("src/unitTest/kotlin")
+        }
+        sourceSets.findByName("androidTest")?.apply {
+            java.srcDirs("src/androidAndroidTest/kotlin")
+        }
+    }
+
+    /*
+    The following configures test source sets - there are two changes here:
+
+    1. The common unit test source set, commonTest, is included by default in both android
+    unit and instrumented tests. This causes unnecessary duplication, so we explicitly do
+    _not_ use commonTest, instead choosing to just use the unit test variant.
+    TODO: Consider using commonTest for unit tests if a usable feature is added for
+    https://youtrack.jetbrains.com/issue/KT-34662.
+
+    2. The default (android) unit test source set is named 'androidTest', which conflicts / is
+    confusing as this shares the same name / expected directory as AGP's 'androidTest', which
+    represents _instrumented_ tests. As a result, instead we use 'unitTest' as the chosen
+    directory / sourceSet name here, and make 'androidTest' depend on 'unitTest' so the
+    multiplatform plugin is aware of it.
+    TODO: Consider changing unitTest to androidLocalTest and androidAndroidTest to
+    androidDeviceTest when https://github.com/JetBrains/kotlin/pull/2829 rolls in.
+    */
+    multiplatformExtension!!.sourceSets {
+        // Create a new 'unitTest' source set - this is where we will put our unit test source.
+        // Make 'androidTest' depend on 'unitTest', so MPP is still aware of these unit tests.
+        findByName("androidTest")?.dependsOn(create("unitTest"))
+
+        // Allow all experimental APIs, since MPP projects are themselves experimental
+        (this as DomainObjectCollection<KotlinSourceSet>).all {
+            it.languageSettings.apply {
+                useExperimentalAnnotation("kotlin.Experimental")
+                useExperimentalAnnotation("kotlin.ExperimentalMultiplatform")
+            }
+        }
+    }
+}
diff --git a/buildSrc/src/main/kotlin/androidx/build/BuildOnServer.kt b/buildSrc/src/main/kotlin/androidx/build/BuildOnServer.kt
index 441cb5f..15413d7 100644
--- a/buildSrc/src/main/kotlin/androidx/build/BuildOnServer.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/BuildOnServer.kt
@@ -51,12 +51,15 @@
         // TODO: re-add after merge to compose merge to master
         // "androidx-public-docs-$buildId.zip",
         // "dokkaPublicDocs-$buildId.zip",
-        "androidx-tipOfTree-docs-$buildId.zip",
-        "dokkaTipOfTreeDocs-$buildId.zip",
         "androidx_aggregate_build_info.txt",
         "gmaven-diff-all-$buildId.zip",
         "top-of-tree-m2repository-all-$buildId.zip")
 
+        if (project.isDocumentationEnabled()) {
+            filesNames.add("androidx-tipOfTree-docs-$buildId.zip")
+            filesNames.add("dokkaTipOfTreeDocs-$buildId.zip")
+        }
+
         if (project.findProject(":jetifier-standalone") != null) {
             filesNames.add("jetifier-standalone.zip")
             filesNames.add("top-of-tree-m2repository-partially-dejetified-$buildId.zip")
diff --git a/buildSrc/src/main/kotlin/androidx/build/DiffAndDocs.kt b/buildSrc/src/main/kotlin/androidx/build/DiffAndDocs.kt
index ad8fb1b..53c0542 100644
--- a/buildSrc/src/main/kotlin/androidx/build/DiffAndDocs.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/DiffAndDocs.kt
@@ -559,6 +559,10 @@
                         addStringOption("dac_libraryroot", dacOptions.libraryroot)
                         addStringOption("dac_dataname", dacOptions.dataname)
                     }
+
+                    if (taskName.equals("publicDocsTask")) {
+                        addBooleanOption("suppressReferenceErrors", true)
+                    }
                 }
 
                 addArtifactsAndSince()
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 45d1c65..f846956 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -77,7 +77,7 @@
     val MEDIA2 = Version("1.1.0-alpha01")
     val MEDIAROUTER = Version("1.2.0-alpha01")
     val MESSAGEBROWSER_BROWSER = Version("1.0.0-alpha01")
-    val NAVIGATION = Version("2.3.0-alpha07")
+    val NAVIGATION = Version("2.3.0-beta01")
     val PAGING = Version("3.0.0-alpha01")
     val PALETTE = Version("1.1.0-alpha01")
     val PRINT = Version("1.1.0-alpha01")
@@ -119,5 +119,5 @@
     val WEBKIT = Version("1.3.0-alpha02")
     val WINDOW = Version("1.0.0-alpha02")
     val WINDOW_SIDECAR = Version("0.1.0-alpha01")
-    val WORK = Version("2.4.0-alpha03")
+    val WORK = Version("2.4.0-beta01")
 }
diff --git a/buildSrc/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt b/buildSrc/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt
index 9dceaba..74b5c8a 100644
--- a/buildSrc/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/license/CheckExternalDependencyLicensesTask.kt
@@ -106,14 +106,11 @@
 }
 
 fun Project.configureExternalDependencyLicenseCheck() {
-    val task = tasks.register(CheckExternalDependencyLicensesTask.TASK_NAME,
+    tasks.register(CheckExternalDependencyLicensesTask.TASK_NAME,
             CheckExternalDependencyLicensesTask::class.java)
     configurations.create(CheckExternalDependencyLicensesTask.CONFIGURATION_NAME) {
         it.attributes {
             it.attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME))
         }
     }
-    rootProject.tasks.named(CheckExternalDependencyLicensesTask.TASK_NAME).configure {
-        it.dependsOn(task)
-    }
 }
diff --git a/busytown/androidx.sh b/busytown/androidx.sh
index 0fe2edcb..958f9a38 100755
--- a/busytown/androidx.sh
+++ b/busytown/androidx.sh
@@ -5,12 +5,12 @@
 
 # Run Gradle
 impl/build.sh --no-daemon listTaskOutputs "$@"
-impl/build.sh --no-daemon buildOnServer \
+impl/build.sh --no-daemon buildOnServer checkExternalLicenses \
     -PverifyUpToDate \
     -Pandroidx.allWarningsAsErrors --profile "$@"
 
 # Merge some output files
-python3 impl/merge_outputs.py "mergeBuildInfo" "mergeLibraryMetrics"
+python3 impl/merge_outputs.py "mergeBuildInfo" "mergeLibraryMetrics" "mergeSourceJars"
 
 # Parse performance profile reports (generated with the --profile option above) and re-export the metrics in an easily machine-readable format for tracking
 impl/parse_profile_htmls.sh
diff --git a/busytown/androidx_host_tests.sh b/busytown/androidx_host_tests.sh
index 3c0f0cf..3037f62 100755
--- a/busytown/androidx_host_tests.sh
+++ b/busytown/androidx_host_tests.sh
@@ -8,5 +8,4 @@
     -Pandroidx.ignoreTestFailures \
     -Pandroidx.allWarningsAsErrors "$@"
 
-# TODO: un-comment this when AMD is fixed (b/147824472)
-#python3 ./merge_outputs.py mergeExecutionData
+python3 impl/merge_outputs.py mergeExecutionData
diff --git a/busytown/impl/merge_outputs.py b/busytown/impl/merge_outputs.py
index 3e2df17..b710ba7 100644
--- a/busytown/impl/merge_outputs.py
+++ b/busytown/impl/merge_outputs.py
@@ -62,7 +62,26 @@
     os.chdir(dist_dir)
     print("Currently in", os.getcwd())
 
+def thisRunIsValidForCoverage():
+    # Assert that AMD did not exclude any projects from being tested 
+    # in either androidx or ui build (thereby invalidating this run for coverage).
+    # If the AMD ran, that file will exist; if it skipped browser, that log will have:
+    # "checking whether I should include :browser:browser and my answer is false"
+    if (os.path.exists("affected_module_detector_log.txt") and\
+        'false' in open('affected_module_detector_log.txt').read()) or\
+        (os.path.exists("ui/affected_module_detector_log.txt") and\
+        'false' in open('ui/affected_module_detector_log.txt').read()):
+        print("WARNING: not doing coverage merging because the AMD was not a no-op")
+        return False
+    return True
+ 
+
 def mergeSourceJars():
+    if not thisRunIsValidForCoverage(): return
+    # assert that the report jars exist
+    if not (os.path.exists("jacoco-report-classes.jar") and os.path.exists("ui/jacoco-report-classes.jar")):
+        print("WARNING: not merging jacoco source jars as the source jars are not present")
+        return
     ziptmp = "ziptmp"
     run_command("rm -rf " + ziptmp)
     run_command("mkdir " + ziptmp)
@@ -75,6 +94,11 @@
     run_command("rm -rf " + ziptmp)
 
 def mergeCoverageExecution():
+    if not thisRunIsValidForCoverage(): return
+    # assert that the coverage zips exist
+    if not (os.path.exists("coverage_ec_files.zip") and os.path.exists("ui/coverage_ec_files.zip")):
+        print("WARNING: not merging coverage execution data as the coverage zips are not present")
+        return
     ziptmp = "ziptmp"
     run_command("rm -rf " + ziptmp)
     run_command("mkdir " + ziptmp)
diff --git a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlTest.java b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlTest.java
index 380ca04..93b70f7 100644
--- a/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlTest.java
+++ b/camera/camera-camera2/src/androidTest/java/androidx/camera/camera2/internal/Camera2CameraControlTest.java
@@ -638,6 +638,7 @@
 
     @Test
     public void startFocus_afModeIsSetToAuto() throws InterruptedException {
+        assumeTrue(getMaxAfRegionCount() > 0);
         SurfaceOrientedMeteringPointFactory factory = new SurfaceOrientedMeteringPointFactory(1.0f,
                 1.0f);
         FocusMeteringAction action = new FocusMeteringAction.Builder(factory.createPoint(0, 0))
diff --git a/camera/camera-core/build.gradle b/camera/camera-core/build.gradle
index 47e0793..b9ab7e4 100644
--- a/camera/camera-core/build.gradle
+++ b/camera/camera-core/build.gradle
@@ -37,8 +37,7 @@
     implementation(AUTO_VALUE_ANNOTATIONS)
 
     annotationProcessor(AUTO_VALUE)
-
-    testImplementation(KOTLIN_STDLIB)
+    
     testImplementation(ANDROIDX_TEST_CORE)
     testImplementation(ANDROIDX_TEST_RUNNER)
     testImplementation(JUNIT)
diff --git a/camera/camera-core/src/test/java/androidx/camera/core/ImageCaptureTest.kt b/camera/camera-core/src/test/java/androidx/camera/core/ImageCaptureTest.kt
deleted file mode 100644
index 2e92e31..0000000
--- a/camera/camera-core/src/test/java/androidx/camera/core/ImageCaptureTest.kt
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.camera.core
-
-import android.content.Context
-import android.graphics.ImageFormat
-import android.os.Build
-import android.os.Handler
-import android.os.HandlerThread
-import android.view.Surface
-import androidx.camera.core.impl.CameraFactory
-import androidx.camera.core.impl.CameraThreadConfig
-import androidx.camera.core.impl.CaptureConfig
-import androidx.camera.core.impl.UseCaseConfig
-import androidx.camera.core.impl.utils.executor.CameraXExecutors
-import androidx.camera.testing.fakes.FakeAppConfig
-import androidx.camera.testing.fakes.FakeCamera
-import androidx.camera.testing.fakes.FakeCameraFactory
-import androidx.camera.testing.fakes.FakeImageReaderProxy
-import androidx.camera.testing.fakes.FakeLifecycleOwner
-import androidx.test.core.app.ApplicationProvider
-import androidx.test.filters.MediumTest
-import androidx.test.platform.app.InstrumentationRegistry
-import com.google.common.truth.Truth
-import org.junit.After
-import org.junit.Before
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.robolectric.RobolectricTestRunner
-import org.robolectric.annotation.Config
-import org.robolectric.annotation.internal.DoNotInstrument
-import org.robolectric.shadow.api.Shadow
-import org.robolectric.shadows.ShadowLooper
-import java.util.concurrent.ExecutionException
-import java.util.concurrent.Executor
-
-/**
- * Unit tests for [ImageCapture].
- */
-@MediumTest
-@RunWith(RobolectricTestRunner::class)
-@DoNotInstrument
-@Config(minSdk = Build.VERSION_CODES.LOLLIPOP, shadows = [ShadowCameraX::class])
-class ImageCaptureTest {
-
-    private var executor: Executor? = null
-    private var callbackHandler: Handler? = null
-    private var fakeImageReaderProxy: FakeImageReaderProxy? = null
-
-    @Before
-    @Throws(ExecutionException::class, InterruptedException::class)
-    fun setUp() {
-        val cameraFactoryProvider =
-            CameraFactory.Provider { _: Context?, _: CameraThreadConfig? ->
-                val cameraFactory = FakeCameraFactory()
-                cameraFactory.insertDefaultBackCamera(ShadowCameraX.DEFAULT_CAMERA_ID) {
-                    FakeCamera(ShadowCameraX.DEFAULT_CAMERA_ID)
-                }
-                cameraFactory
-            }
-        val cameraXConfig = CameraXConfig.Builder.fromConfig(
-            FakeAppConfig.create()
-        ).setCameraFactoryProvider(cameraFactoryProvider).build()
-        val context =
-            ApplicationProvider.getApplicationContext<Context>()
-        CameraX.initialize(context, cameraXConfig).get()
-        val callbackThread = HandlerThread("Callback")
-        callbackThread.start()
-        callbackHandler = Handler(callbackThread.looper)
-        executor = CameraXExecutors.newHandlerExecutor(callbackHandler!!)
-    }
-
-    @After
-    @Throws(ExecutionException::class, InterruptedException::class)
-    fun tearDown() {
-        InstrumentationRegistry.getInstrumentation().runOnMainSync { CameraX.unbindAll() }
-        CameraX.shutdown().get()
-        fakeImageReaderProxy = null
-    }
-
-    @Test
-    fun capturedImageSize_isEqualToSurfaceSize() {
-        // Arrange.
-        val imageCapture = ImageCapture.Builder()
-            // Set non jpg format so it doesn't trigger the exif code path.
-            .setBufferFormat(ImageFormat.YUV_420_888)
-            .setTargetRotation(Surface.ROTATION_0)
-            .setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
-            .setFlashMode(ImageCapture.FLASH_MODE_OFF)
-            .setCaptureOptionUnpacker { _: UseCaseConfig<*>?, _: CaptureConfig.Builder? -> }
-            .setImageReaderProxyProvider(getImageReaderProxyProvider())
-            .build()
-        var capturedImage: ImageProxy? = null
-        val onImageCapturedCallback = object : ImageCapture.OnImageCapturedCallback() {
-            override fun onCaptureSuccess(image: ImageProxy) {
-                capturedImage = image
-            }
-
-            override fun onError(exception: ImageCaptureException) {
-            }
-        }
-
-        // Act.
-        // Bind UseCase amd take picture.
-        val lifecycleOwner = FakeLifecycleOwner()
-        InstrumentationRegistry.getInstrumentation()
-            .runOnMainSync {
-                CameraX.bindToLifecycle(
-                    lifecycleOwner,
-                    CameraSelector.DEFAULT_BACK_CAMERA,
-                    imageCapture
-                )
-                lifecycleOwner.startAndResume()
-            }
-        imageCapture.takePicture(executor!!, onImageCapturedCallback)
-        // Send fake image.
-        fakeImageReaderProxy?.triggerImageAvailable("tag", 0)
-        flushHandler(callbackHandler)
-
-        // Assert.
-        Truth.assertThat(capturedImage?.width).isEqualTo(fakeImageReaderProxy?.width)
-        Truth.assertThat(capturedImage?.height).isEqualTo(fakeImageReaderProxy?.height)
-    }
-
-    private fun getImageReaderProxyProvider(): ImageReaderProxyProvider {
-        return ImageReaderProxyProvider { _, _, imageFormat, queueDepth, _ ->
-            fakeImageReaderProxy = FakeImageReaderProxy(queueDepth)
-            fakeImageReaderProxy?.imageFormat = imageFormat
-            fakeImageReaderProxy!!
-        }
-    }
-
-    private fun flushHandler(handler: Handler?) {
-        (Shadow.extract<Any>(handler!!.looper) as ShadowLooper).idle()
-    }
-}
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java b/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java
index 4b2853c..4059cc1 100644
--- a/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java
+++ b/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java
@@ -546,7 +546,8 @@
                 mDownEventTimestamp = System.currentTimeMillis();
                 break;
             case MotionEvent.ACTION_UP:
-                if (delta() < ViewConfiguration.getLongPressTimeout()) {
+                if (delta() < ViewConfiguration.getLongPressTimeout()
+                        && mCameraModule.isBoundToLifecycle()) {
                     mUpEvent = event;
                     performClick();
                 }
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java b/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
index 69191ed..1fb7252 100644
--- a/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
+++ b/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
@@ -456,6 +456,10 @@
         }
     }
 
+    boolean isBoundToLifecycle() {
+        return mCamera != null;
+    }
+
     int getRelativeCameraOrientation(boolean compensateForMirroring) {
         int rotationDegrees = 0;
         if (mCamera != null) {
diff --git a/compose/compose-compiler-hosted/integration-tests/build.gradle b/compose/compose-compiler-hosted/integration-tests/build.gradle
index 61d6a00..8b77232 100644
--- a/compose/compose-compiler-hosted/integration-tests/build.gradle
+++ b/compose/compose-compiler-hosted/integration-tests/build.gradle
@@ -37,7 +37,7 @@
 
     testImplementation(KOTLIN_STDLIB)
     testImplementation(project(":compose:compose-runtime"))
-    testImplementation(project(":ui:ui-framework"))
+    testImplementation(project(":ui:ui-core"))
     testImplementation(project(":ui:ui-android-view"))
     testImplementation(project(":compose:compose-compiler-hosted"))
 }
diff --git a/compose/compose-runtime/build.gradle b/compose/compose-runtime/build.gradle
index 0e8cc52..0176276 100644
--- a/compose/compose-runtime/build.gradle
+++ b/compose/compose-runtime/build.gradle
@@ -33,8 +33,7 @@
 }
 kotlin {
     android()
-    jvm("desktop") {
-    }
+    jvm("desktop")
 
     sourceSets {
         commonMain.dependencies {
@@ -42,51 +41,37 @@
         }
         commonTest.dependencies {
             implementation kotlin("test-junit")
-            implementation project(":ui:ui-framework")
+            implementation project(":ui:ui-core")
         }
 
         jvmMain {
         }
         jvmMain.dependencies {
             api(KOTLIN_COROUTINES_CORE)
-        }
-        // TODO(aelias): Consider using commonTest for unit tests if a usable feature
-        // is added for https://youtrack.jetbrains.com/issue/KT-34662
-        unitTest {
-        }
-        androidMain {
-            dependsOn jvmMain
-        }
-        androidMain.dependencies {
-            api "androidx.annotation:annotation:1.0.0"
-            api(KOTLIN_COROUTINES_ANDROID)
             implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3"
         }
-
+        androidMain {
+            dependencies {
+                api(KOTLIN_COROUTINES_ANDROID)
+                api "androidx.annotation:annotation:1.1.0"
+            }
+            dependsOn jvmMain
+        }
         desktopMain {
             dependsOn jvmMain
         }
 
-        desktopMain.dependencies {
-            implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable-jvm:0.3"
-        }
-
-        // TODO(aelias): Change to androidLocalTest and androidDeviceTest when
-        // https://github.com/JetBrains/kotlin/pull/2829 rolls in
-        androidTest {
-            dependsOn unitTest
+        commonTest.dependencies {
+            implementation kotlin("test-junit")
+            implementation project(":ui:ui-core")
         }
         androidAndroidTest.dependencies {
             implementation(ANDROIDX_TEST_EXT_JUNIT)
             implementation(ANDROIDX_TEST_RULES)
             implementation(ANDROIDX_TEST_RUNNER)
             implementation(TRUTH)
-            implementation project(":ui:ui-framework")
-            implementation project(":ui:ui-platform")
             implementation project(':ui:ui-test')
-        }
-        all {
-            languageSettings.useExperimentalAnnotation("kotlin.Experimental")
+            implementation project(':ui:ui-core')
         }
     }
 }
@@ -100,13 +85,6 @@
             testCoverageEnabled = false
         }
     }
-
-    // b/148416113: AGP doesn't know about Kotlin-MPP's sourcesets yet, so add
-    // them to its source directories (this fixes lint, and code completion in
-    // Android Studio on versions >= 4.0canary8)
-    sourceSets.main.java.srcDirs = ['src/commonMain/kotlin','src/jvmMain/kotlin','src/androidMain/kotlin']
-    sourceSets.test.java.srcDirs = ['src/unitTest/kotlin']
-    sourceSets.androidTest.java.srcDirs = ['src/androidAndroidTest/kotlin']
 }
 
 androidx {
diff --git a/compose/compose-runtime/compose-runtime-benchmark/build.gradle b/compose/compose-runtime/compose-runtime-benchmark/build.gradle
index 03cc3cf..4218834 100644
--- a/compose/compose-runtime/compose-runtime-benchmark/build.gradle
+++ b/compose/compose-runtime/compose-runtime-benchmark/build.gradle
@@ -50,10 +50,8 @@
     androidTestImplementation(project(":compose:compose-runtime"))
     androidTestImplementation(project(":ui:ui-core"))
     androidTestImplementation(project(":ui:ui-text-core"))
-    androidTestImplementation(project(":ui:ui-framework"))
     androidTestImplementation(project(":ui:ui-layout"))
     androidTestImplementation(project(":ui:ui-material"))
-    androidTestImplementation(project(":ui:ui-platform"))
     androidTestImplementation(project(":ui:ui-foundation"))
 
     androidTestImplementation(JUNIT)
diff --git a/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/HotReloadIntegrationTests.kt b/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/HotReloadIntegrationTests.kt
index e4fd951..7b9bb1f 100644
--- a/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/HotReloadIntegrationTests.kt
+++ b/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/HotReloadIntegrationTests.kt
@@ -55,7 +55,7 @@
         activity.uiThread {
             activity.setContent {
                 Column {
-                    WithConstraints { _, _ ->
+                    WithConstraints {
                         val state = state { DrawerState.Closed }
                         ModalDrawerLayout(
                             drawerState = state.value,
diff --git a/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/realworld4/RealWorld4_Widgets.kt b/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/realworld4/RealWorld4_Widgets.kt
index d7a0743..75e33a5 100644
--- a/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/realworld4/RealWorld4_Widgets.kt
+++ b/compose/compose-runtime/compose-runtime-benchmark/src/androidTest/java/androidx/compose/benchmark/realworld4/RealWorld4_Widgets.kt
@@ -53,7 +53,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints { constraints, _ ->
+    WithConstraints {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -123,7 +123,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -171,7 +171,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -268,7 +268,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -371,7 +371,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -459,7 +459,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -570,7 +570,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -636,7 +636,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -715,7 +715,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -762,7 +762,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -817,7 +817,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -855,7 +855,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -892,7 +892,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -955,7 +955,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -994,7 +994,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1039,7 +1039,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1098,7 +1098,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1168,7 +1168,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1222,7 +1222,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1279,7 +1279,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1330,7 +1330,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1363,7 +1363,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1415,7 +1415,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1498,7 +1498,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1551,7 +1551,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1598,7 +1598,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1659,7 +1659,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1698,7 +1698,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1748,7 +1748,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1791,7 +1791,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1838,7 +1838,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1886,7 +1886,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1927,7 +1927,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -1966,7 +1966,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2021,7 +2021,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2066,7 +2066,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2105,7 +2105,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2157,7 +2157,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2257,7 +2257,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2308,7 +2308,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2367,7 +2367,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2414,7 +2414,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2486,7 +2486,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2544,7 +2544,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2610,7 +2610,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2696,7 +2696,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2743,7 +2743,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2784,7 +2784,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2823,7 +2823,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2862,7 +2862,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2923,7 +2923,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -2962,7 +2962,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3001,7 +3001,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3039,7 +3039,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3069,7 +3069,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3144,7 +3144,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3199,7 +3199,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3260,7 +3260,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3293,7 +3293,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3350,7 +3350,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3388,7 +3388,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3424,7 +3424,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3461,7 +3461,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3522,7 +3522,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3561,7 +3561,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3605,7 +3605,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3648,7 +3648,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3699,7 +3699,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3749,7 +3749,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3814,7 +3814,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3878,7 +3878,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -3949,7 +3949,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4018,7 +4018,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4065,7 +4065,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4111,7 +4111,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4150,7 +4150,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4201,7 +4201,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4308,7 +4308,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4360,7 +4360,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4417,7 +4417,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4457,7 +4457,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4537,7 +4537,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4608,7 +4608,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4663,7 +4663,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4706,7 +4706,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4739,7 +4739,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4797,7 +4797,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4853,7 +4853,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4890,7 +4890,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4937,7 +4937,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -4981,7 +4981,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5018,7 +5018,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5058,7 +5058,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5116,7 +5116,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5189,7 +5189,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5242,7 +5242,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5287,7 +5287,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5348,7 +5348,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5414,7 +5414,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5467,7 +5467,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5512,7 +5512,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5577,7 +5577,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5640,7 +5640,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5678,7 +5678,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5721,7 +5721,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5760,7 +5760,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5816,7 +5816,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5861,7 +5861,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5900,7 +5900,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5933,7 +5933,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -5984,7 +5984,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6027,7 +6027,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6060,7 +6060,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6119,7 +6119,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6190,7 +6190,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6241,7 +6241,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6280,7 +6280,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6327,7 +6327,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6366,7 +6366,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6405,7 +6405,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6448,7 +6448,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6493,7 +6493,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6548,7 +6548,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6593,7 +6593,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6638,7 +6638,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6685,7 +6685,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6724,7 +6724,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6757,7 +6757,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6802,7 +6802,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6841,7 +6841,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6874,7 +6874,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6921,7 +6921,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -6997,7 +6997,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7132,7 +7132,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7190,7 +7190,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7253,7 +7253,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7300,7 +7300,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7367,7 +7367,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7400,7 +7400,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7434,7 +7434,7 @@
         emptyList<Collection<KCallable<*>>>()
     }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7495,7 +7495,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7572,7 +7572,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7635,7 +7635,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7727,7 +7727,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7824,7 +7824,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7889,7 +7889,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -7972,7 +7972,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -8055,7 +8055,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp5 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2 + tmp3 + tmp4
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp5.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -8093,7 +8093,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
@@ -8160,7 +8160,7 @@
                 emptyList<Collection<KCallable<*>>>()
             }.map { it.toString().reversed() }.joinToString("-"))
     val tmp3 = "lkjzndgke84ts" + tmp0 + tmp1 + tmp2
-    WithConstraints(modifier) { constraints, _ ->
+    WithConstraints(modifier) {
         Box(Modifier.padding(1.dp) + DrawBackground(color = tmp3.toColor())) {
             if (constraints.maxHeight > constraints.maxWidth) {
                 Column {
diff --git a/compose/compose-runtime/samples/build.gradle b/compose/compose-runtime/samples/build.gradle
index ad41b84..fb562b8 100644
--- a/compose/compose-runtime/samples/build.gradle
+++ b/compose/compose-runtime/samples/build.gradle
@@ -33,7 +33,7 @@
 
     implementation project(":annotation:annotation-sampled")
     implementation project(":compose:compose-runtime")
-    implementation project(":ui:ui-framework")
+    implementation project(":ui:ui-core")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-material")
 }
diff --git a/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ImmutableSamples.kt b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ImmutableSamples.kt
new file mode 100644
index 0000000..4adf4a6
--- /dev/null
+++ b/compose/compose-runtime/samples/src/main/java/androidx/compose/samples/ImmutableSamples.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.samples
+
+import androidx.annotation.Sampled
+import androidx.compose.Composable
+import androidx.compose.Immutable
+import androidx.ui.foundation.Text
+import androidx.ui.layout.Row
+import androidx.ui.layout.Column
+
+@Sampled
+@Composable
+fun simpleImmutableClass() {
+    @Immutable
+    data class Person(val name: String, val phoneNumber: String)
+
+    @Composable
+    fun PersonView(person: Person) {
+        Column {
+            Row {
+                Text("Name: ")
+                Text(person.name)
+            }
+            Row {
+                Text("Phone: ")
+                Text(person.phoneNumber)
+            }
+        }
+    }
+
+    @Composable
+    fun PeopleView(people: List<Person>) {
+        Column {
+            for (person in people) {
+                PersonView(person)
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Immutable.kt b/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Immutable.kt
index a490564..fa77a22 100644
--- a/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Immutable.kt
+++ b/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/Immutable.kt
@@ -16,6 +16,28 @@
 
 package androidx.compose
 
+/**
+ * [Immutable] can be used to mark class as producing immutable instances. The immutability of the
+ * class is not validated and is a promise by the type that all publicly accessible properties
+ * and fields will not change after the instance is constructed. This is a stronger promise than
+ * `val` as it promises that the value will never change not only that values cannot be changed
+ * through a setter.
+ *
+ * [Immutable] is used by composition which enables composition optimizations that can be
+ * performed based on the assumption that values read from the type will not change.  See
+ * [StableMarker] for additional details.
+ *
+ * `data` classes that only contain `val` properties that do not have custom getters can safely
+ * be marked as [Immutable] if the types of properties are either primitive types or also
+ * [Immutable]:
+ *
+ * @sample androidx.compose.samples.simpleImmutableClass
+ *
+ * Marking `Person` immutable allows calls the `PersonView` [Composable] function to be skipped if
+ * it is the same `person` as it was during the last composition.
+ *
+ * @see StableMarker
+ */
 @MustBeDocumented
 @Target(AnnotationTarget.CLASS)
 @Retention(AnnotationRetention.BINARY)
diff --git a/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/StableMarker.kt b/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/StableMarker.kt
index 1f8111d..5bfb4dd 100644
--- a/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/StableMarker.kt
+++ b/compose/compose-runtime/src/commonMain/kotlin/androidx/compose/StableMarker.kt
@@ -17,15 +17,37 @@
 package androidx.compose
 
 /**
- * [StableMarker] marks an annotation as indicating a type as having a stable
- * equals comparision that can be used during composition. When all types passed
- * as parameters to a [Composable] function are marked as stable then then the
- * parameter values are compared for equality based on positional memoization and
- * the call is skipped if all the values are the equal to the previous call.
+ * [StableMarker] marks an annotation as indicating a type is stable. A stable type obeys the
+ * following assumptions,
  *
- * Primitive value types (such as Int, Float, etc), String and enum types are
- * considered, a priori, stable.
-*
+ *   1) The result of [equals] will always return the same result for the same two instances.
+ *   2) When a public property of the type changes, composition will be notified.
+ *   3) All public property types are stable.
+ *
+ * A type that is immutable obeys the above assumptions because the public values will never
+ * change. The [Immutable] annotation is provided to mark immutable types as stable.
+ *
+ * An object whose public properties do not change but is not immutable (for example, it has
+ * private mutable state or uses property delegation to a [Model] object, such as a
+ * [MutableState] instance, but is otherwise immutable), should use the [Stable] annotation.
+ *
+ * [Model] types are mutable but obeys the above assumptions because any change to a public
+ * property of a [Model] type notifies composition when the change is committed; therefore the
+ * [Model] annotation is annotated [StableMarker] and all type annotated with [Model] are assumed
+ * to be stable.
+ *
+ * Mutable object that do not notify composition when they changed should not be marked as stable.
+ *
+ * When all types passed as parameters to a [Composable] function are marked as stable then the
+ * parameter values are compared for equality based on positional memoization and the call is
+ * skipped if all the values are the equal to the previous call.
+ *
+ * Primitive value types (such as Int, Float, etc), String and enum types are considered, a
+ * priori, stable.
+ *
+ * @see Immutable
+ * @see Stable
+ * @see Model
  */
 @MustBeDocumented
 @Target(AnnotationTarget.ANNOTATION_CLASS, AnnotationTarget.CLASS)
diff --git a/core/core/api/1.4.0-alpha01.txt b/core/core/api/1.4.0-alpha01.txt
index aed9013f..31d0479 100644
--- a/core/core/api/1.4.0-alpha01.txt
+++ b/core/core/api/1.4.0-alpha01.txt
@@ -1314,13 +1314,13 @@
 package androidx.core.os {
 
   public class BuildCompat {
-    method @Deprecated public static boolean isAtLeastN();
-    method @Deprecated public static boolean isAtLeastNMR1();
-    method @Deprecated public static boolean isAtLeastO();
-    method @Deprecated public static boolean isAtLeastOMR1();
-    method @Deprecated public static boolean isAtLeastP();
-    method @Deprecated public static boolean isAtLeastQ();
-    method public static boolean isAtLeastR();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N) public static boolean isAtLeastN();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N_MR1) public static boolean isAtLeastNMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O) public static boolean isAtLeastO();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O_MR1) public static boolean isAtLeastOMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.P) public static boolean isAtLeastP();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.Q) public static boolean isAtLeastQ();
+    method @ChecksSdkIntAtLeast(codename="R") public static boolean isAtLeastR();
   }
 
   public final class CancellationSignal {
diff --git a/core/core/api/current.txt b/core/core/api/current.txt
index aed9013f..31d0479 100644
--- a/core/core/api/current.txt
+++ b/core/core/api/current.txt
@@ -1314,13 +1314,13 @@
 package androidx.core.os {
 
   public class BuildCompat {
-    method @Deprecated public static boolean isAtLeastN();
-    method @Deprecated public static boolean isAtLeastNMR1();
-    method @Deprecated public static boolean isAtLeastO();
-    method @Deprecated public static boolean isAtLeastOMR1();
-    method @Deprecated public static boolean isAtLeastP();
-    method @Deprecated public static boolean isAtLeastQ();
-    method public static boolean isAtLeastR();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N) public static boolean isAtLeastN();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N_MR1) public static boolean isAtLeastNMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O) public static boolean isAtLeastO();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O_MR1) public static boolean isAtLeastOMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.P) public static boolean isAtLeastP();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.Q) public static boolean isAtLeastQ();
+    method @ChecksSdkIntAtLeast(codename="R") public static boolean isAtLeastR();
   }
 
   public final class CancellationSignal {
diff --git a/core/core/api/public_plus_experimental_1.4.0-alpha01.txt b/core/core/api/public_plus_experimental_1.4.0-alpha01.txt
index 47d0bac..b387d11 100644
--- a/core/core/api/public_plus_experimental_1.4.0-alpha01.txt
+++ b/core/core/api/public_plus_experimental_1.4.0-alpha01.txt
@@ -1312,13 +1312,13 @@
 package androidx.core.os {
 
   public class BuildCompat {
-    method @Deprecated public static boolean isAtLeastN();
-    method @Deprecated public static boolean isAtLeastNMR1();
-    method @Deprecated public static boolean isAtLeastO();
-    method @Deprecated public static boolean isAtLeastOMR1();
-    method @Deprecated public static boolean isAtLeastP();
-    method @Deprecated public static boolean isAtLeastQ();
-    method public static boolean isAtLeastR();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N) public static boolean isAtLeastN();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N_MR1) public static boolean isAtLeastNMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O) public static boolean isAtLeastO();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O_MR1) public static boolean isAtLeastOMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.P) public static boolean isAtLeastP();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.Q) public static boolean isAtLeastQ();
+    method @ChecksSdkIntAtLeast(codename="R") public static boolean isAtLeastR();
   }
 
   public final class CancellationSignal {
diff --git a/core/core/api/public_plus_experimental_current.txt b/core/core/api/public_plus_experimental_current.txt
index 47d0bac..b387d11 100644
--- a/core/core/api/public_plus_experimental_current.txt
+++ b/core/core/api/public_plus_experimental_current.txt
@@ -1312,13 +1312,13 @@
 package androidx.core.os {
 
   public class BuildCompat {
-    method @Deprecated public static boolean isAtLeastN();
-    method @Deprecated public static boolean isAtLeastNMR1();
-    method @Deprecated public static boolean isAtLeastO();
-    method @Deprecated public static boolean isAtLeastOMR1();
-    method @Deprecated public static boolean isAtLeastP();
-    method @Deprecated public static boolean isAtLeastQ();
-    method public static boolean isAtLeastR();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N) public static boolean isAtLeastN();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N_MR1) public static boolean isAtLeastNMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O) public static boolean isAtLeastO();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O_MR1) public static boolean isAtLeastOMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.P) public static boolean isAtLeastP();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.Q) public static boolean isAtLeastQ();
+    method @ChecksSdkIntAtLeast(codename="R") public static boolean isAtLeastR();
   }
 
   public final class CancellationSignal {
diff --git a/core/core/api/restricted_1.4.0-alpha01.txt b/core/core/api/restricted_1.4.0-alpha01.txt
index 87243b9..88d2713 100644
--- a/core/core/api/restricted_1.4.0-alpha01.txt
+++ b/core/core/api/restricted_1.4.0-alpha01.txt
@@ -1611,13 +1611,13 @@
 package androidx.core.os {
 
   public class BuildCompat {
-    method @Deprecated public static boolean isAtLeastN();
-    method @Deprecated public static boolean isAtLeastNMR1();
-    method @Deprecated public static boolean isAtLeastO();
-    method @Deprecated public static boolean isAtLeastOMR1();
-    method @Deprecated public static boolean isAtLeastP();
-    method @Deprecated public static boolean isAtLeastQ();
-    method public static boolean isAtLeastR();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N) public static boolean isAtLeastN();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N_MR1) public static boolean isAtLeastNMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O) public static boolean isAtLeastO();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O_MR1) public static boolean isAtLeastOMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.P) public static boolean isAtLeastP();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.Q) public static boolean isAtLeastQ();
+    method @ChecksSdkIntAtLeast(codename="R") public static boolean isAtLeastR();
   }
 
   public final class CancellationSignal {
diff --git a/core/core/api/restricted_current.txt b/core/core/api/restricted_current.txt
index 87243b9..88d2713 100644
--- a/core/core/api/restricted_current.txt
+++ b/core/core/api/restricted_current.txt
@@ -1611,13 +1611,13 @@
 package androidx.core.os {
 
   public class BuildCompat {
-    method @Deprecated public static boolean isAtLeastN();
-    method @Deprecated public static boolean isAtLeastNMR1();
-    method @Deprecated public static boolean isAtLeastO();
-    method @Deprecated public static boolean isAtLeastOMR1();
-    method @Deprecated public static boolean isAtLeastP();
-    method @Deprecated public static boolean isAtLeastQ();
-    method public static boolean isAtLeastR();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N) public static boolean isAtLeastN();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.N_MR1) public static boolean isAtLeastNMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O) public static boolean isAtLeastO();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.O_MR1) public static boolean isAtLeastOMR1();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.P) public static boolean isAtLeastP();
+    method @Deprecated @ChecksSdkIntAtLeast(api=android.os.Build.VERSION_CODES.Q) public static boolean isAtLeastQ();
+    method @ChecksSdkIntAtLeast(codename="R") public static boolean isAtLeastR();
   }
 
   public final class CancellationSignal {
diff --git a/core/core/build.gradle b/core/core/build.gradle
index edb2166..1046319 100644
--- a/core/core/build.gradle
+++ b/core/core/build.gradle
@@ -10,7 +10,7 @@
 }
 
 dependencies {
-    api("androidx.annotation:annotation:1.1.0")
+    api project(path: ':annotation:annotation')
     api("androidx.lifecycle:lifecycle-runtime:2.0.0")
     api("androidx.versionedparcelable:versionedparcelable:1.1.0")
     implementation("androidx.collection:collection:1.0.0")
diff --git a/core/core/src/main/java/androidx/core/app/NotificationCompat.java b/core/core/src/main/java/androidx/core/app/NotificationCompat.java
index 2591f85..bcdd6f6a 100644
--- a/core/core/src/main/java/androidx/core/app/NotificationCompat.java
+++ b/core/core/src/main/java/androidx/core/app/NotificationCompat.java
@@ -2392,7 +2392,7 @@
          * Should be unique amongst all individuals in the conversation, and should be
          * consistent during re-posts of the notification.
          *
-         * @see Message#NotificationCompat.MessagingStyle.Message(CharSequence, long, CharSequence)
+         * @see Message#Message(CharSequence, long, CharSequence)
          *
          * @return this object for method chaining
          *
@@ -2413,7 +2413,7 @@
          * Adds a message for display by this notification. Convenience call for
          * {@link #addMessage(Message)}.
          *
-         * @see Message#NotificationCompat.MessagingStyle.Message(CharSequence, long, Person)
+         * @see Message#Message(CharSequence, long, Person)
          *
          * @return this for method chaining
          */
diff --git a/core/core/src/main/java/androidx/core/os/BuildCompat.java b/core/core/src/main/java/androidx/core/os/BuildCompat.java
index 972d204..34edb2c 100644
--- a/core/core/src/main/java/androidx/core/os/BuildCompat.java
+++ b/core/core/src/main/java/androidx/core/os/BuildCompat.java
@@ -16,8 +16,11 @@
 
 package androidx.core.os;
 
+import android.os.Build;
 import android.os.Build.VERSION;
 
+import androidx.annotation.ChecksSdkIntAtLeast;
+
 /**
  * This class contains additional platform version checking methods for targeting pre-release
  * versions of Android.
@@ -34,6 +37,7 @@
      *             be removed in a future release of the Support Library. Instead, use
      *             {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.N}.
      */
+    @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.N)
     @Deprecated
     public static boolean isAtLeastN() {
         return VERSION.SDK_INT >= 24;
@@ -47,6 +51,7 @@
      *             will be removed in a future release of the Support Library. Instead, use
      *             {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1}.
      */
+    @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.N_MR1)
     @Deprecated
     public static boolean isAtLeastNMR1() {
         return VERSION.SDK_INT >= 25;
@@ -60,6 +65,7 @@
      *             be removed in a future release of the Support Library. Instead use
      *             {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.O}.
      */
+    @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.O)
     @Deprecated
     public static boolean isAtLeastO() {
         return VERSION.SDK_INT >= 26;
@@ -73,6 +79,7 @@
      *             will be removed in a future release of the Support Library. Instead, use
      *             {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1}.
      */
+    @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.O_MR1)
     @Deprecated
     public static boolean isAtLeastOMR1() {
         return VERSION.SDK_INT >= 27;
@@ -86,6 +93,7 @@
      *             will be removed in a future release of the Support Library. Instead, use
      *             {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.P}.
      */
+    @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.P)
     @Deprecated
     public static boolean isAtLeastP() {
         return VERSION.SDK_INT >= 28;
@@ -99,6 +107,7 @@
      *             will be removed in a future release of the Support Library. Instead, use
      *             {@code Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q}.
      */
+    @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.Q)
     @Deprecated
     public static boolean isAtLeastQ() {
         return VERSION.SDK_INT >= 29;
@@ -114,6 +123,7 @@
      *
      * @return {@code true} if R APIs are available for use, {@code false} otherwise
      */
+    @ChecksSdkIntAtLeast(codename = "R")
     public static boolean isAtLeastR() {
         return VERSION.SDK_INT >= 30 || VERSION.CODENAME.equals("R");
     }
diff --git a/development/triage-guesser.py b/development/triage-guesser.py
index ab42f41..ed631c2 100755
--- a/development/triage-guesser.py
+++ b/development/triage-guesser.py
@@ -15,6 +15,17 @@
     self.issueId = issueId
     self.description = description
 
+class IssueComponent(object):
+  def __init__(self, name):
+    self.name = name
+  def __str__(self):
+    return "Component: '" + self.name + "'"
+  def __repr__(self):
+    return str(self)
+
+components = {}
+components["navigation"] = IssueComponent("Navigation")
+
 class AssigneeRecommendation(object):
   def __init__(self, usernames, justification):
     self.usernames = usernames
@@ -67,7 +78,22 @@
       self.resultsCache[name] = filePaths
     return self.resultsCache[name]
 
-class InterestingFileFinder(object):
+  def tryToIdentifyFile(self, nameComponent):
+    if len(nameComponent) < 1:
+      return []
+    queries = [nameComponent + ".*", "nameComponent*"]
+    if len(nameComponent) >= 10:
+      # For a sufficiently specific query, allow it to match the middle of a filename too
+      queries.append("*" + nameComponent + ".*")
+    for query in queries:
+      matches = self.findIname(query)
+      if len(matches) > 0 and len(matches) <= 4:
+        # We found a small enough number of matches to have
+        # reasonable confidence in having found the right file
+        return matches
+    return []
+
+class InterestingWordChooser(object):
   def __init__(self):
     return
 
@@ -76,7 +102,7 @@
     words = [word for word in words if len(word) >= 4]
     words.sort(key=len, reverse=True)
     return words
-interestingFileFinder = InterestingFileFinder()
+interestingWordChooser = InterestingWordChooser()
 
 class GitLogger(object):
   def __init__(self):
@@ -93,18 +119,17 @@
     self.fileFinder = fileFinder
 
   def recommend(self, bug):
-    interestingWords = interestingFileFinder.findInterestingWords(bug.description)
+    interestingWords = interestingWordChooser.findInterestingWords(bug.description)
     for word in interestingWords:
-      for queryString in [word + "*", word + ".*"]:
-        filePaths = self.fileFinder.findIname(queryString)
-        if len(filePaths) > 0 and len(filePaths) <= 4:
-          candidateAuthors = []
-          for path in filePaths:
-            thisAuthor = gitLogger.gitLog1Author(path)
-            if len(candidateAuthors) == 0 or thisAuthor != candidateAuthors[-1]:
-              candidateAuthors.append(thisAuthor)
-          if len(candidateAuthors) == 1:
-             return AssigneeRecommendation(candidateAuthors, "last touched " + os.path.basename(filePaths[0]))
+      filePaths = self.fileFinder.tryToIdentifyFile(word)
+      if len(filePaths) > 0:
+        candidateAuthors = []
+        for path in filePaths:
+          thisAuthor = gitLogger.gitLog1Author(path)
+          if len(candidateAuthors) == 0 or thisAuthor != candidateAuthors[-1]:
+            candidateAuthors.append(thisAuthor)
+        if len(candidateAuthors) == 1:
+           return AssigneeRecommendation(candidateAuthors, "last touched " + os.path.basename(filePaths[0]))
     return None
 
 class OwnersRule(RecommenderRule):
@@ -113,10 +138,10 @@
     self.fileFinder = fileFinder
 
   def recommend(self, bug):
-    interestingWords = interestingFileFinder.findInterestingWords(bug.description)
+    interestingWords = interestingWordChooser.findInterestingWords(bug.description)
     for word in interestingWords:
-      for queryString in [word + "*", word + ".*"]:
-        filePaths = self.fileFinder.findIname(queryString)
+      filePaths = self.fileFinder.tryToIdentifyFile(word)
+      if len(filePaths) > 0:
         commonPrefix = os.path.commonprefix(filePaths)
         dirToCheck = commonPrefix
         if len(dirToCheck) < 1:
@@ -148,19 +173,20 @@
   def __init__(self, fileFinder):
     self.recommenderRules = self.parseKnownOwners({
       "fragment": ["ilake", "mount", "adamp"],
-      "animation": ["mount", "tianlu"],
+      "animation": ["mount", "tianliu"],
       "transition": ["mount"],
       "theme": ["alanv"],
       "style": ["alanv"],
       "preferences": ["pavlis", "lpf"],
       "ViewPager": ["jgielzak", "jellefresen"],
       "DrawerLayout": ["sjgilbert"],
-      "RecyclerView": ["shepshapard", "yboyar"],
+      "RecyclerView": ["shepshapard", "ryanmentley"],
       "Loaders": ["ilake"],
       "VectorDrawableCompat": ["tianliu"],
       "AppCompat": ["kirillg"],
-      "Design Library": ["dcarlsson"],
-      "android.support.design": ["dcarlsson"],
+      "Design Library": ["material-android-firehose"],
+      "android.support.design": ["material-android-firehose"],
+      "NavigationView": ["material-android-firehose"], # not to be confused with Navigation
       "RenderThread": ["jreck"],
       "VectorDrawable": ["tianliu"],
       "Vector Drawable": ["tianliu"],
@@ -179,7 +205,9 @@
       "slice": ["madym"],
       "checkApi": ["jeffrygaston", "aurimas"],
       "compose": ["chuckj", "jsproch", "lelandr"],
-      "jetifier": ["pavlis", "jeffrygaston"]
+      "jetifier": ["pavlis", "jeffrygaston"],
+      "navigat": [components["navigation"]], # "navigation", "navigate", etc,
+      "room": ["danysantiago", "sergeyv", "yboyar"]
     })
     self.recommenderRules.append(OwnersRule(fileFinder))
     self.recommenderRules.append(LastTouchedBy_Rule(fileFinder))
@@ -271,7 +299,7 @@
 def main(args):
   if len(args) != 1:
     usage()
-  fileFinder = FileFinder(os.path.dirname(args[0]))
+  fileFinder = FileFinder(os.path.dirname(os.path.dirname(args[0])))
   print("Reading issues (copy-paste from the hotlist) from stdin")
   lines = sys.stdin.readlines()
   triager = Triager(fileFinder)
diff --git a/fragment/fragment/api/1.3.0-alpha05.txt b/fragment/fragment/api/1.3.0-alpha05.txt
index 00d7fd4..d5b26f6 100644
--- a/fragment/fragment/api/1.3.0-alpha05.txt
+++ b/fragment/fragment/api/1.3.0-alpha05.txt
@@ -182,7 +182,7 @@
     method @Deprecated public void supportInvalidateOptionsMenu();
     method public void supportPostponeEnterTransition();
     method public void supportStartPostponedEnterTransition();
-    method public final void validateRequestPermissionsRequestCode(int);
+    method @Deprecated public final void validateRequestPermissionsRequestCode(int);
   }
 
   public abstract class FragmentContainer {
diff --git a/fragment/fragment/api/current.txt b/fragment/fragment/api/current.txt
index 00d7fd4..d5b26f6 100644
--- a/fragment/fragment/api/current.txt
+++ b/fragment/fragment/api/current.txt
@@ -182,7 +182,7 @@
     method @Deprecated public void supportInvalidateOptionsMenu();
     method public void supportPostponeEnterTransition();
     method public void supportStartPostponedEnterTransition();
-    method public final void validateRequestPermissionsRequestCode(int);
+    method @Deprecated public final void validateRequestPermissionsRequestCode(int);
   }
 
   public abstract class FragmentContainer {
diff --git a/fragment/fragment/api/public_plus_experimental_1.3.0-alpha05.txt b/fragment/fragment/api/public_plus_experimental_1.3.0-alpha05.txt
index f884115..cce8158 100644
--- a/fragment/fragment/api/public_plus_experimental_1.3.0-alpha05.txt
+++ b/fragment/fragment/api/public_plus_experimental_1.3.0-alpha05.txt
@@ -182,7 +182,7 @@
     method @Deprecated public void supportInvalidateOptionsMenu();
     method public void supportPostponeEnterTransition();
     method public void supportStartPostponedEnterTransition();
-    method public final void validateRequestPermissionsRequestCode(int);
+    method @Deprecated public final void validateRequestPermissionsRequestCode(int);
   }
 
   public abstract class FragmentContainer {
diff --git a/fragment/fragment/api/public_plus_experimental_current.txt b/fragment/fragment/api/public_plus_experimental_current.txt
index f884115..cce8158 100644
--- a/fragment/fragment/api/public_plus_experimental_current.txt
+++ b/fragment/fragment/api/public_plus_experimental_current.txt
@@ -182,7 +182,7 @@
     method @Deprecated public void supportInvalidateOptionsMenu();
     method public void supportPostponeEnterTransition();
     method public void supportStartPostponedEnterTransition();
-    method public final void validateRequestPermissionsRequestCode(int);
+    method @Deprecated public final void validateRequestPermissionsRequestCode(int);
   }
 
   public abstract class FragmentContainer {
diff --git a/fragment/fragment/api/restricted_1.3.0-alpha05.txt b/fragment/fragment/api/restricted_1.3.0-alpha05.txt
index 2475536..76caf91 100644
--- a/fragment/fragment/api/restricted_1.3.0-alpha05.txt
+++ b/fragment/fragment/api/restricted_1.3.0-alpha05.txt
@@ -187,7 +187,7 @@
     method @Deprecated public void supportInvalidateOptionsMenu();
     method public void supportPostponeEnterTransition();
     method public void supportStartPostponedEnterTransition();
-    method public final void validateRequestPermissionsRequestCode(int);
+    method @Deprecated public final void validateRequestPermissionsRequestCode(int);
   }
 
   public abstract class FragmentContainer {
diff --git a/fragment/fragment/api/restricted_current.txt b/fragment/fragment/api/restricted_current.txt
index 2475536..76caf91 100644
--- a/fragment/fragment/api/restricted_current.txt
+++ b/fragment/fragment/api/restricted_current.txt
@@ -187,7 +187,7 @@
     method @Deprecated public void supportInvalidateOptionsMenu();
     method public void supportPostponeEnterTransition();
     method public void supportStartPostponedEnterTransition();
-    method public final void validateRequestPermissionsRequestCode(int);
+    method @Deprecated public final void validateRequestPermissionsRequestCode(int);
   }
 
   public abstract class FragmentContainer {
diff --git a/fragment/fragment/build.gradle b/fragment/fragment/build.gradle
index b046b22..54fd037 100644
--- a/fragment/fragment/build.gradle
+++ b/fragment/fragment/build.gradle
@@ -46,6 +46,7 @@
 
     androidTestImplementation("androidx.appcompat:appcompat:1.1.0", {
         exclude group: 'androidx.fragment', module: 'fragment'
+        exclude group: 'androidx.activity', module: 'activity'
     })
     androidTestImplementation(KOTLIN_STDLIB)
     androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
index dabe5149..fd65a6f 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/FragmentReceiveResultTest.kt
@@ -19,7 +19,6 @@
 import android.app.PendingIntent
 import android.content.Intent
 import android.content.IntentSender
-import androidx.core.app.ActivityCompat
 import androidx.fragment.app.test.FragmentResultActivity
 import androidx.fragment.app.test.FragmentTestActivity
 import androidx.fragment.test.R
@@ -34,11 +33,6 @@
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentMatchers.eq
-import org.mockito.ArgumentMatchers.same
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.verifyNoMoreInteractions
 import java.util.concurrent.CountDownLatch
 import java.util.concurrent.TimeUnit
 
@@ -60,6 +54,20 @@
         fragment = attachTestFragment()
     }
 
+    @Suppress("DEPRECATION")
+    @Test
+    fun testNoFragmentOnActivityResult() {
+        // 0xffff is the request code for the startActivityResult launcher in FragmentManager
+        activity.onActivityResult(0xffff, Activity.RESULT_OK, Intent())
+    }
+
+    @Suppress("DEPRECATION")
+    @Test
+    fun testNoFragmentOnRequestPermissionsResult() {
+        // 0xffff + 2 is the request code for the requestPermissions launcher in FragmentManager
+        activity.onRequestPermissionsResult(0xffff + 2, arrayOf("permission"), intArrayOf(1))
+    }
+
     @Test
     fun testStartActivityForResultOk() {
         startActivityForResult(10, Activity.RESULT_OK, "content 10")
@@ -116,26 +124,6 @@
         assertThat(fragment.resultContent[0]).isEqualTo("content 40")
     }
 
-    @Suppress("DEPRECATION")
-    @Test
-    fun testActivityResult_withDelegate() {
-        val delegate = mock(ActivityCompat.PermissionCompatDelegate::class.java)
-
-        val data = Intent()
-        ActivityCompat.setPermissionCompatDelegate(delegate)
-
-        activityRule.activity.onActivityResult(42, 43, data)
-
-        verify(delegate).onActivityResult(
-            same(activityRule.activity), eq(42), eq(43),
-            same(data)
-        )
-
-        ActivityCompat.setPermissionCompatDelegate(null)
-        activityRule.activity.onActivityResult(42, 43, data)
-        verifyNoMoreInteractions(delegate)
-    }
-
     private fun attachTestFragment(): TestFragment {
         val fragment = TestFragment()
         activityRule.runOnUiThread {
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt
index 9c75824..74321c2 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/NestedFragmentTest.kt
@@ -22,7 +22,6 @@
 import android.content.IntentFilter
 import androidx.fragment.app.test.FragmentTestActivity
 import androidx.fragment.app.test.FragmentTestActivity.ParentFragment
-import androidx.test.annotation.UiThreadTest
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import androidx.test.filters.LargeTest
 import androidx.test.platform.app.InstrumentationRegistry
@@ -59,12 +58,33 @@
         assertThat(latch.await(1, TimeUnit.SECONDS)).isTrue()
     }
 
-    @UiThreadTest
-    @Test(expected = IllegalArgumentException::class)
-    fun testThrowsWhenUsingReservedRequestCode() {
-        parentFragment.childFragment.startActivityForResult(
-            Intent(Intent.ACTION_CALL), 16777216 /* requestCode */
+    @Test
+    fun testUsingUpper16BitRequestCode() {
+        val activityResult = Instrumentation.ActivityResult(Activity.RESULT_OK, Intent())
+
+        val activityMonitor = instrumentation.addMonitor(
+            IntentFilter(Intent.ACTION_CALL), activityResult, true /* block */
         )
+
+        // Sanity check that onActivityResult hasn't been called yet.
+        assertThat(parentFragment.childFragment.onActivityResultCalled).isFalse()
+
+        val latch = CountDownLatch(1)
+        activityRule.runOnUiThread {
+            parentFragment.childFragment.startActivityForResult(
+                Intent(Intent.ACTION_CALL),
+                16777216 /* requestCode */
+            )
+            latch.countDown()
+        }
+        assertThat(latch.await(1, TimeUnit.SECONDS)).isTrue()
+
+        assertThat(instrumentation.checkMonitorHit(activityMonitor, 1)).isTrue()
+
+        val childFragment = parentFragment.childFragment
+        assertThat(childFragment.onActivityResultCalled).isTrue()
+        assertThat(childFragment.onActivityResultRequestCode).isEqualTo(16777216)
+        assertThat(childFragment.onActivityResultResultCode).isEqualTo(Activity.RESULT_OK)
     }
 
     @Test
diff --git a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/FragmentTestActivity.kt b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/FragmentTestActivity.kt
index 0cafc8f..83c45c1 100644
--- a/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/FragmentTestActivity.kt
+++ b/fragment/fragment/src/androidTest/java/androidx/fragment/app/test/FragmentTestActivity.kt
@@ -35,6 +35,11 @@
         finishCountDownLatch.countDown()
     }
 
+    @Suppress("DEPRECATION")
+    public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        super.onActivityResult(requestCode, resultCode, data)
+    }
+
     class ParentFragment : Fragment() {
         var wasAttachedInTime: Boolean = false
 
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java b/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
index f4f585e..3e5cf55 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/Fragment.java
@@ -1399,13 +1399,15 @@
      * {@link #registerForActivityResult(ActivityResultContract, ActivityResultCallback)}
      * passing in a {@link StartActivityForResult} object for the {@link ActivityResultContract}.
      */
+    @SuppressWarnings("DeprecatedIsStillUsed")
     @Deprecated
     public void startActivityForResult(@SuppressLint("UnknownNullness") Intent intent,
             int requestCode, @Nullable Bundle options) {
         if (mHost == null) {
             throw new IllegalStateException("Fragment " + this + " not attached to Activity");
         }
-        mHost.onStartActivityFromFragment(this /*fragment*/, intent, requestCode, options);
+        getParentFragmentManager().launchStartActivityForResult(this /*fragment*/, intent,
+                requestCode, options);
     }
 
     /**
@@ -1431,7 +1433,6 @@
      * passing in a {@link StartIntentSenderForResult} object for the
      * {@link ActivityResultContract}.
      */
-    @SuppressWarnings("deprecation")
     @Deprecated
     public void startIntentSenderForResult(@SuppressLint("UnknownNullness") IntentSender intent,
             int requestCode, @Nullable Intent fillInIntent, int flagsMask, int flagsValues,
@@ -1439,8 +1440,8 @@
         if (mHost == null) {
             throw new IllegalStateException("Fragment " + this + " not attached to Activity");
         }
-        mHost.onStartIntentSenderFromFragment(this, intent, requestCode, fillInIntent, flagsMask,
-                flagsValues, extraFlags, options);
+        getParentFragmentManager().launchStartIntentSenderForResult(this, intent, requestCode,
+                fillInIntent, flagsMask, flagsValues, extraFlags, options);
     }
 
     /**
@@ -1546,13 +1547,12 @@
      * in a {@link RequestMultiplePermissions} object for the {@link ActivityResultContract} and
      * handling the result in the {@link ActivityResultCallback#onActivityResult(Object) callback}.
      */
-    @SuppressWarnings("deprecation")
     @Deprecated
     public final void requestPermissions(@NonNull String[] permissions, int requestCode) {
         if (mHost == null) {
             throw new IllegalStateException("Fragment " + this + " not attached to Activity");
         }
-        mHost.onRequestPermissionsFromFragment(this, permissions, requestCode);
+        getParentFragmentManager().launchRequestPermissions(this, permissions, requestCode);
     }
 
     /**
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
index b99b911..6d8ff8c 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentActivity.java
@@ -29,7 +29,6 @@
 import android.os.Handler;
 import android.os.Parcelable;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -49,7 +48,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.RestrictTo;
-import androidx.collection.SparseArrayCompat;
 import androidx.core.app.ActivityCompat;
 import androidx.core.app.SharedElementCallback;
 import androidx.lifecycle.Lifecycle;
@@ -77,13 +75,8 @@
 public class FragmentActivity extends ComponentActivity implements
         ActivityCompat.OnRequestPermissionsResultCallback,
         ActivityCompat.RequestPermissionsRequestCodeValidator {
-    private static final String TAG = "FragmentActivity";
 
     static final String FRAGMENTS_TAG = "android:support:fragments";
-    static final String NEXT_CANDIDATE_REQUEST_INDEX_TAG = "android:support:next_request_index";
-    static final String ALLOCATED_REQUEST_INDICIES_TAG = "android:support:request_indicies";
-    static final String REQUEST_FRAGMENT_WHO_TAG = "android:support:request_fragment_who";
-    static final int MAX_NUM_PENDING_FRAGMENT_ACTIVITY_RESULTS = 0xffff - 1;
 
     final FragmentController mFragments = FragmentController.createController(new HostCallbacks());
     /**
@@ -98,32 +91,6 @@
     boolean mResumed;
     boolean mStopped = true;
 
-    boolean mRequestedPermissionsFromFragment;
-
-    // We need to keep track of whether startIntentSenderForResult originated from a Fragment, so we
-    // can conditionally check whether the requestCode collides with our reserved ID space for the
-    // request index (see above). Unfortunately we can't just call
-    // super.startIntentSenderForResult(...) to bypass the check when the call didn't come from a
-    // fragment, since we need to use the ActivityCompat version for backward compatibility.
-    boolean mStartedIntentSenderFromFragment;
-    // We need to keep track of whether startActivityForResult originated from a Fragment, so we
-    // can conditionally check whether the requestCode collides with our reserved ID space for the
-    // request index (see above). Unfortunately we can't just call
-    // super.startActivityForResult(...) to bypass the check when the call didn't come from a
-    // fragment, since we need to use the ActivityCompat version for backward compatibility.
-    boolean mStartedActivityFromFragment;
-
-    // A hint for the next candidate request index. Request indicies are ints between 0 and 2^16-1
-    // which are encoded into the upper 16 bits of the requestCode for
-    // Fragment.startActivityForResult(...) calls. This allows us to dispatch onActivityResult(...)
-    // to the appropriate Fragment. Request indicies are allocated by allocateRequestIndex(...).
-    int mNextCandidateRequestIndex;
-    // A map from request index to Fragment "who" (i.e. a Fragment's unique identifier). Used to
-    // keep track of the originating Fragment for Fragment.startActivityForResult(...) calls, so we
-    // can dispatch the onActivityResult(...) to the appropriate Fragment. Will only contain entries
-    // for startActivityForResult calls where a result has not yet been delivered.
-    SparseArrayCompat<String> mPendingFragmentActivityResults;
-
     /**
      * Default constructor for FragmentActivity. All Activities must have a default constructor
      * for API 27 and lower devices or when using the default
@@ -153,42 +120,6 @@
     // ------------------------------------------------------------------------
 
     /**
-     * Dispatch incoming result to the correct fragment.
-     */
-    @SuppressWarnings("deprecation")
-    @Override
-    @CallSuper
-    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        mFragments.noteStateNotSaved();
-        int requestIndex = requestCode>>16;
-        if (requestIndex != 0) {
-            requestIndex--;
-
-            String who = mPendingFragmentActivityResults.get(requestIndex);
-            mPendingFragmentActivityResults.remove(requestIndex);
-            if (who == null) {
-                Log.w(TAG, "Activity result delivered for unknown Fragment.");
-                return;
-            }
-            Fragment targetFragment = mFragments.findFragmentByWho(who);
-            if (targetFragment == null) {
-                Log.w(TAG, "Activity result no fragment exists for who: " + who);
-            } else {
-                targetFragment.onActivityResult(requestCode & 0xffff, resultCode, data);
-            }
-            return;
-        }
-        ActivityCompat.PermissionCompatDelegate delegate =
-                ActivityCompat.getPermissionCompatDelegate();
-        if (delegate != null && delegate.onActivityResult(this, requestCode, resultCode, data)) {
-            // Delegate has handled the activity result
-            return;
-        }
-
-        super.onActivityResult(requestCode, resultCode, data);
-    }
-
-    /**
      * Reverses the Activity Scene entry Transition and triggers the calling Activity
      * to reverse its exit Transition. When the exit Transition completes,
      * {@link #finish()} is called. If no entry Transition was used, finish() is called
@@ -294,28 +225,6 @@
         if (savedInstanceState != null) {
             Parcelable p = savedInstanceState.getParcelable(FRAGMENTS_TAG);
             mFragments.restoreSaveState(p);
-
-            // Check if there are any pending onActivityResult calls to descendent Fragments.
-            if (savedInstanceState.containsKey(NEXT_CANDIDATE_REQUEST_INDEX_TAG)) {
-                mNextCandidateRequestIndex =
-                        savedInstanceState.getInt(NEXT_CANDIDATE_REQUEST_INDEX_TAG);
-                int[] requestCodes = savedInstanceState.getIntArray(ALLOCATED_REQUEST_INDICIES_TAG);
-                String[] fragmentWhos = savedInstanceState.getStringArray(REQUEST_FRAGMENT_WHO_TAG);
-                if (requestCodes == null || fragmentWhos == null ||
-                            requestCodes.length != fragmentWhos.length) {
-                    Log.w(TAG, "Invalid requestCode mapping in savedInstanceState.");
-                } else {
-                    mPendingFragmentActivityResults = new SparseArrayCompat<>(requestCodes.length);
-                    for (int i = 0; i < requestCodes.length; i++) {
-                        mPendingFragmentActivityResults.put(requestCodes[i], fragmentWhos[i]);
-                    }
-                }
-            }
-        }
-
-        if (mPendingFragmentActivityResults == null) {
-            mPendingFragmentActivityResults = new SparseArrayCompat<>();
-            mNextCandidateRequestIndex = 0;
         }
 
         super.onCreate(savedInstanceState);
@@ -523,18 +432,6 @@
         if (p != null) {
             outState.putParcelable(FRAGMENTS_TAG, p);
         }
-        if (mPendingFragmentActivityResults.size() > 0) {
-            outState.putInt(NEXT_CANDIDATE_REQUEST_INDEX_TAG, mNextCandidateRequestIndex);
-
-            int[] requestCodes = new int[mPendingFragmentActivityResults.size()];
-            String[] fragmentWhos = new String[mPendingFragmentActivityResults.size()];
-            for (int i = 0; i < mPendingFragmentActivityResults.size(); i++) {
-                requestCodes[i] = mPendingFragmentActivityResults.keyAt(i);
-                fragmentWhos[i] = mPendingFragmentActivityResults.valueAt(i);
-            }
-            outState.putIntArray(ALLOCATED_REQUEST_INDICIES_TAG, requestCodes);
-            outState.putStringArray(REQUEST_FRAGMENT_WHO_TAG, fragmentWhos);
-        }
     }
 
     /**
@@ -658,187 +555,11 @@
     }
 
     /**
-     * Modifies the standard behavior to allow results to be delivered to fragments.
-     * This imposes a restriction that requestCode be <= 0xffff.
-     *
-     * @param intent The intent to start.
-     * @param requestCode The request code to be returned in
-     * {@link Fragment#onActivityResult(int, int, Intent)} when the activity exits. Must be
-     *                    between 0 and 65535 to be considered valid. If given requestCode is
-     *                    greater than 65535, an IllegalArgumentException would be thrown.
+     * @deprecated there are no longer any restrictions on permissions requestCodes.
      */
-    @SuppressWarnings("deprecation")
     @Override
-    public void startActivityForResult(@SuppressLint("UnknownNullness") Intent intent,
-            int requestCode) {
-        // If this was started from a Fragment we've already checked the upper 16 bits were not in
-        // use, and then repurposed them for the Fragment's index.
-        if (!mStartedActivityFromFragment) {
-            if (requestCode != -1) {
-                checkForValidRequestCode(requestCode);
-            }
-        }
-        super.startActivityForResult(intent, requestCode);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @param intent The intent to start.
-     * @param requestCode The request code to be returned in
-     * {@link Fragment#onActivityResult(int, int, Intent)} when the activity exits. Must be
-     *                    between 0 and 65535 to be considered valid. If given requestCode is
-     *                    greater than 65535, an IllegalArgumentException would be thrown.
-     * @param options Additional options for how the Activity should be started. See
-     * {@link Context#startActivity(Intent, Bundle)} for more details. This value may be null.
-     */
-    @SuppressWarnings("deprecation")
-    @Override
-    public void startActivityForResult(@SuppressLint("UnknownNullness") Intent intent,
-            int requestCode, @Nullable Bundle options) {
-        // If this was started from a Fragment we've already checked the upper 16 bits were not in
-        // use, and then repurposed them for the Fragment's index.
-        if (!mStartedActivityFromFragment) {
-            if (requestCode != -1) {
-                checkForValidRequestCode(requestCode);
-            }
-        }
-        super.startActivityForResult(intent, requestCode, options);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @param intent The IntentSender to launch.
-     * @param requestCode The request code to be returned in
-     * {@link Fragment#onActivityResult(int, int, Intent)} when the activity exits. Must be
-     *                    between 0 and 65535 to be considered valid. If given requestCode is
-     *                    greater than 65535, an IllegalArgumentException would be thrown.
-     * @param fillInIntent If non-null, this will be provided as the intent parameter to
-     * {@link IntentSender#sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler)}.
-     *                     This value may be null.
-     * @param flagsMask Intent flags in the original IntentSender that you would like to change.
-     * @param flagsValues Desired values for any bits set in <code>flagsMask</code>.
-     * @param extraFlags Always set to 0.
-     * @throws IntentSender.SendIntentException if the call fails to execute.
-     */
-    @SuppressWarnings("deprecation")
-    @Override
-    public void startIntentSenderForResult(@SuppressLint("UnknownNullness") IntentSender intent,
-            int requestCode, @Nullable Intent fillInIntent, int flagsMask,
-            int flagsValues, int extraFlags) throws IntentSender.SendIntentException {
-        // If this was started from a Fragment we've already checked the upper 16 bits were not in
-        // use, and then repurposed them for the Fragment's index.
-        if (!mStartedIntentSenderFromFragment) {
-            if (requestCode != -1) {
-                checkForValidRequestCode(requestCode);
-            }
-        }
-        super.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues,
-                extraFlags);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * @param intent The IntentSender to launch.
-     * @param requestCode The request code to be returned in
-     * {@link Fragment#onActivityResult(int, int, Intent)} when the activity exits. Must be
-     *                    between 0 and 65535 to be considered valid. If given requestCode is
-     *                    greater than 65535, an IllegalArgumentException would be thrown.
-     * @param fillInIntent If non-null, this will be provided as the intent parameter to
-     * {@link IntentSender#sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler)}.
-     *                     This value may be null.
-     * @param flagsMask Intent flags in the original IntentSender that you would like to change.
-     * @param flagsValues Desired values for any bits set in <code>flagsMask</code>.
-     * @param extraFlags Always set to 0.
-     * @param options Additional options for how the Activity should be started. See
-     * {@link Context#startActivity(Intent, Bundle)} for more details. This value may be null.
-     * @throws IntentSender.SendIntentException if the call fails to execute.
-     */
-    @SuppressWarnings("deprecation")
-    @Override
-    public void startIntentSenderForResult(@SuppressLint("UnknownNullness") IntentSender intent,
-            int requestCode, @Nullable Intent fillInIntent, int flagsMask, int flagsValues,
-            int extraFlags, @Nullable Bundle options) throws IntentSender.SendIntentException {
-        // If this was started from a Fragment we've already checked the upper 16 bits were not in
-        // use, and then repurposed them for the Fragment's index.
-        if (!mStartedIntentSenderFromFragment) {
-            if (requestCode != -1) {
-                checkForValidRequestCode(requestCode);
-            }
-        }
-        super.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask, flagsValues,
-                extraFlags, options);
-    }
-
-    /**
-     * Checks whether the given request code is a valid code by masking it with 0xffff0000. Throws
-     * an {@link IllegalArgumentException} if the code is not valid.
-     */
-    static void checkForValidRequestCode(int requestCode) {
-        if ((requestCode & 0xffff0000) != 0) {
-            throw new IllegalArgumentException("Can only use lower 16 bits for requestCode");
-        }
-    }
-
-    @Override
-    public final void validateRequestPermissionsRequestCode(int requestCode) {
-        // We use 16 bits of the request code to encode the fragment id when
-        // requesting permissions from a fragment. Hence, requestPermissions()
-        // should validate the code against that but we cannot override it as
-        // we can not then call super and also the ActivityCompat would call
-        // back to this override. To handle this we use dependency inversion
-        // where we are the validator of request codes when requesting
-        // permissions in ActivityCompat.
-        if (!mRequestedPermissionsFromFragment
-                && requestCode != -1) {
-            checkForValidRequestCode(requestCode);
-        }
-    }
-
-    /**
-     * Callback for the result from requesting permissions. This method
-     * is invoked for every call on {@link #requestPermissions(String[], int)}.
-     * <p>
-     * <strong>Note:</strong> It is possible that the permissions request interaction
-     * with the user is interrupted. In this case you will receive empty permissions
-     * and results arrays which should be treated as a cancellation.
-     * </p>
-     *
-     * @param requestCode The request code passed in {@link #requestPermissions(String[], int)}.
-     * @param permissions The requested permissions. Never null.
-     * @param grantResults The grant results for the corresponding permissions
-     *     which is either {@link android.content.pm.PackageManager#PERMISSION_GRANTED}
-     *     or {@link android.content.pm.PackageManager#PERMISSION_DENIED}. Never null.
-     *
-     * @see #requestPermissions(String[], int)
-     */
-    @SuppressWarnings("deprecation")
-    @CallSuper
-    @Override
-    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
-            @NonNull int[] grantResults) {
-        mFragments.noteStateNotSaved();
-        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
-        int index = (requestCode >> 16) & 0xffff;
-        if (index != 0) {
-            index--;
-
-            String who = mPendingFragmentActivityResults.get(index);
-            mPendingFragmentActivityResults.remove(index);
-            if (who == null) {
-                Log.w(TAG, "Activity result delivered for unknown Fragment.");
-                return;
-            }
-            Fragment frag = mFragments.findFragmentByWho(who);
-            if (frag == null) {
-                Log.w(TAG, "Activity result no fragment exists for who: " + who);
-            } else {
-                frag.onRequestPermissionsResult(requestCode & 0xffff, permissions, grantResults);
-            }
-        }
-    }
+    @Deprecated
+    public final void validateRequestPermissionsRequestCode(int requestCode) { }
 
     /**
      * Called by Fragment.startActivityForResult() to implement its behavior.
@@ -867,22 +588,18 @@
      * @param options Additional options for how the Activity should be started. See
      * {@link Context#startActivity(Intent, Bundle)} for more details. This value may be null.
      */
+    @SuppressWarnings("deprecation")
     public void startActivityFromFragment(@NonNull Fragment fragment,
             @SuppressLint("UnknownNullness") Intent intent, int requestCode,
             @Nullable Bundle options) {
-        mStartedActivityFromFragment = true;
-        try {
-            if (requestCode == -1) {
-                ActivityCompat.startActivityForResult(this, intent, -1, options);
-                return;
-            }
-            checkForValidRequestCode(requestCode);
-            int requestIndex = allocateRequestIndex(fragment);
-            ActivityCompat.startActivityForResult(
-                    this, intent, ((requestIndex + 1) << 16) + (requestCode & 0xffff), options);
-        } finally {
-            mStartedActivityFromFragment = false;
+        // request code will be -1 if called from fragment.startActivity
+        if (requestCode == -1) {
+            ActivityCompat.startActivityForResult(this, intent, -1, options);
+            return;
         }
+        // If for some reason this method is being called directly with a requestCode that is not
+        // -1, redirect it to the fragment.startActivityForResult method
+        fragment.startActivityForResult(intent, requestCode, options);
     }
 
     /**
@@ -909,75 +626,19 @@
      * with the {@link StartIntentSenderForResult} contract. This method will still be called when
      * Fragments call the deprecated <code>startIntentSenderForResult()</code> method.
      */
-    @SuppressWarnings("DeprecatedIsStillUsed")
+    @SuppressWarnings({"deprecation"})
     @Deprecated
     public void startIntentSenderFromFragment(@NonNull Fragment fragment,
             @SuppressLint("UnknownNullness") IntentSender intent, int requestCode,
             @Nullable Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags,
             @Nullable Bundle options) throws IntentSender.SendIntentException {
-        mStartedIntentSenderFromFragment = true;
-        try {
-            if (requestCode == -1) {
-                ActivityCompat.startIntentSenderForResult(this, intent, requestCode, fillInIntent,
-                        flagsMask, flagsValues, extraFlags, options);
-                return;
-            }
-            checkForValidRequestCode(requestCode);
-            int requestIndex = allocateRequestIndex(fragment);
-            ActivityCompat.startIntentSenderForResult(this, intent,
-                    ((requestIndex + 1) << 16) + (requestCode & 0xffff), fillInIntent,
-                    flagsMask, flagsValues, extraFlags, options);
-        } finally {
-            mStartedIntentSenderFromFragment = false;
-        }
-    }
-
-    // Allocates the next available startActivityForResult request index.
-    private int allocateRequestIndex(@NonNull Fragment fragment) {
-        // Sanity check that we havn't exhaused the request index space.
-        if (mPendingFragmentActivityResults.size() >= MAX_NUM_PENDING_FRAGMENT_ACTIVITY_RESULTS) {
-            throw new IllegalStateException("Too many pending Fragment activity results.");
-        }
-
-        // Find an unallocated request index in the mPendingFragmentActivityResults map.
-        while (mPendingFragmentActivityResults.indexOfKey(mNextCandidateRequestIndex) >= 0) {
-            mNextCandidateRequestIndex =
-                    (mNextCandidateRequestIndex + 1) % MAX_NUM_PENDING_FRAGMENT_ACTIVITY_RESULTS;
-        }
-
-        int requestIndex = mNextCandidateRequestIndex;
-        mPendingFragmentActivityResults.put(requestIndex, fragment.mWho);
-        mNextCandidateRequestIndex =
-                (mNextCandidateRequestIndex + 1) % MAX_NUM_PENDING_FRAGMENT_ACTIVITY_RESULTS;
-
-        return requestIndex;
-    }
-
-    /**
-     * Called by Fragment.requestPermissions() to implement its behavior.
-     *
-     * @param fragment the Fragment to request permissions from.
-     * @param permissions The requested permissions.
-     * @param requestCode Application specific request code to match with a result reported to
-     * {@link #onRequestPermissionsResult(int, String[], int[])}. Must be between 0 and 65535 to
-     *                    be considered valid. If given requestCode is greater than 65535, an
-     *                    IllegalArgumentException would be thrown.
-     */
-    void requestPermissionsFromFragment(@NonNull Fragment fragment, @NonNull String[] permissions,
-            int requestCode) {
         if (requestCode == -1) {
-            ActivityCompat.requestPermissions(this, permissions, requestCode);
+            ActivityCompat.startIntentSenderForResult(this, intent, requestCode, fillInIntent,
+                    flagsMask, flagsValues, extraFlags, options);
             return;
         }
-        checkForValidRequestCode(requestCode);
-        try {
-            mRequestedPermissionsFromFragment = true;
-            int requestIndex = allocateRequestIndex(fragment);
-            ActivityCompat.requestPermissions(this, permissions,
-                    ((requestIndex + 1) << 16) + (requestCode & 0xffff));
-        } finally {
-            mRequestedPermissionsFromFragment = false;
-        }
+        fragment.startIntentSenderForResult(intent, requestCode, fillInIntent, flagsMask,
+                flagsValues, extraFlags, options);
     }
 
     class HostCallbacks extends FragmentHostCallback<FragmentActivity> implements
@@ -1038,36 +699,6 @@
         }
 
         @Override
-        public void onStartActivityFromFragment(@NonNull Fragment fragment, Intent intent,
-                int requestCode) {
-            FragmentActivity.this.startActivityFromFragment(fragment, intent, requestCode);
-        }
-
-        @Override
-        public void onStartActivityFromFragment(@NonNull Fragment fragment, Intent intent,
-                int requestCode, @Nullable Bundle options) {
-            FragmentActivity.this.startActivityFromFragment(fragment, intent, requestCode, options);
-        }
-
-        @SuppressWarnings("deprecation")
-        @Override
-        public void onStartIntentSenderFromFragment(
-                @NonNull Fragment fragment, IntentSender intent, int requestCode,
-                @Nullable Intent fillInIntent, int flagsMask, int flagsValues,
-                int extraFlags, Bundle options) throws IntentSender.SendIntentException {
-            FragmentActivity.this.startIntentSenderFromFragment(fragment, intent, requestCode,
-                    fillInIntent, flagsMask, flagsValues, extraFlags, options);
-        }
-
-        @SuppressWarnings("deprecation")
-        @Override
-        public void onRequestPermissionsFromFragment(@NonNull Fragment fragment,
-                @NonNull String[] permissions, int requestCode) {
-            FragmentActivity.this.requestPermissionsFromFragment(fragment, permissions,
-                    requestCode);
-        }
-
-        @Override
         public boolean onShouldShowRequestPermissionRationale(@NonNull String permission) {
             return ActivityCompat.shouldShowRequestPermissionRationale(
                     FragmentActivity.this, permission);
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentHostCallback.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentHostCallback.java
index 338b2bf..a6c74d5 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentHostCallback.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentHostCallback.java
@@ -35,6 +35,7 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
 import androidx.core.util.Preconditions;
 
 import java.io.FileDescriptor;
@@ -136,7 +137,7 @@
             throw new IllegalStateException(
                     "Starting activity with a requestCode requires a FragmentActivity host");
         }
-        mContext.startActivity(intent);
+        ContextCompat.startActivity(mContext, intent, options);
     }
 
     /**
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
index d2330c9..fcbe712 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManager.java
@@ -16,6 +16,9 @@
 
 package androidx.fragment.app;
 
+import static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult.EXTRA_ACTIVITY_OPTIONS_BUNDLE;
+import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.ACTION_INTENT_SENDER_REQUEST;
+import static androidx.activity.result.contract.ActivityResultContracts.StartIntentSenderForResult.EXTRA_INTENT_SENDER_REQUEST;
 import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX;
 
 import android.animation.Animator;
@@ -23,9 +26,13 @@
 import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.ContextWrapper;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.content.pm.PackageManager;
 import android.content.res.Configuration;
 import android.os.Bundle;
 import android.os.Looper;
+import android.os.Parcel;
 import android.os.Parcelable;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -39,6 +46,14 @@
 import androidx.activity.OnBackPressedCallback;
 import androidx.activity.OnBackPressedDispatcher;
 import androidx.activity.OnBackPressedDispatcherOwner;
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.ActivityResultCallback;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.ActivityResultRegistry;
+import androidx.activity.result.ActivityResultRegistryOwner;
+import androidx.activity.result.IntentSenderRequest;
+import androidx.activity.result.contract.ActivityResultContract;
+import androidx.activity.result.contract.ActivityResultContracts;
 import androidx.annotation.IdRes;
 import androidx.annotation.MainThread;
 import androidx.annotation.NonNull;
@@ -56,9 +71,11 @@
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
+import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicInteger;
@@ -438,6 +455,15 @@
                 }
             };
 
+    // Key to retrieve the request code from any intents that are started
+    private static final String EXTRA_KEY_REQUEST_CODE = "activity.result.requestCode";
+
+    private ActivityResultLauncher<Intent> mStartActivityForResult;
+    private ActivityResultLauncher<IntentSenderRequest> mStartIntentSenderForResult;
+    private ActivityResultLauncher<String[]> mRequestPermissions;
+
+    ArrayDeque<LaunchedFragmentInfo> mLaunchedFragments = new ArrayDeque<>();
+
     private boolean mNeedMenuInvalidate;
     private boolean mStateSaved;
     private boolean mStopped;
@@ -2546,6 +2572,7 @@
         }
         fms.mResultKeys.addAll(mResults.keySet());
         fms.mResults.addAll(mResults.values());
+        fms.mLaunchedFragments = new ArrayList<>(mLaunchedFragments);
         return fms;
     }
 
@@ -2654,6 +2681,7 @@
                 mResults.put(savedResultKeys.get(i), fms.mResults.get(i));
             }
         }
+        mLaunchedFragments = new ArrayDeque<>(fms.mLaunchedFragments);
     }
 
     @NonNull
@@ -2676,6 +2704,8 @@
         return mFragmentStore;
     }
 
+    @SuppressWarnings("deprecation")
+    @SuppressLint("SyntheticAccessor")
     void attachController(@NonNull FragmentHostCallback<?> host,
             @NonNull FragmentContainer container, @Nullable final Fragment parent) {
         if (mHost != null) throw new IllegalStateException("Already attached");
@@ -2708,6 +2738,104 @@
         // Ensure that the state is in sync with FragmentManager
         mNonConfig.setIsStateSaved(isStateSaved());
         mFragmentStore.setNonConfig(mNonConfig);
+
+        if (mHost instanceof ActivityResultRegistryOwner) {
+            ActivityResultRegistry registry =
+                    ((ActivityResultRegistryOwner) mHost).getActivityResultRegistry();
+
+            String parentId = parent != null ? parent.mWho + ":" : "";
+            String keyPrefix = "FragmentManager:" + parentId;
+
+            mStartActivityForResult = registry.register(keyPrefix + "StartActivityForResult",
+                    new ActivityResultContracts.StartActivityForResult(),
+                    new ActivityResultCallback<ActivityResult>() {
+                        @Override
+                        public void onActivityResult(ActivityResult result) {
+                            LaunchedFragmentInfo requestInfo = mLaunchedFragments.pollFirst();
+                            if (requestInfo == null) {
+                                Log.w(TAG, "No Activities were started for result for " + this);
+                                return;
+                            }
+                            String fragmentWho = requestInfo.mWho;
+                            int requestCode = requestInfo.mRequestCode;
+                            Fragment fragment =  mFragmentStore.findFragmentByWho(fragmentWho);
+                            // Although unlikely, it is possible this fragment could be null if a
+                            // fragment transactions was committed immediately after the for
+                            // result call
+                            if (fragment == null) {
+                                Log.w(TAG,
+                                        "Activity result delivered for unknown Fragment "
+                                                + fragmentWho);
+                                return;
+                            }
+                            fragment.onActivityResult(requestCode, result.getResultCode(),
+                                    result.getData());
+                        }
+                    });
+
+            mStartIntentSenderForResult = registry.register(keyPrefix
+                            + "StartIntentSenderForResult",
+                    new FragmentManager.FragmentIntentSenderContract(),
+                    new ActivityResultCallback<ActivityResult>() {
+                        @Override
+                        public void onActivityResult(ActivityResult result) {
+                            LaunchedFragmentInfo requestInfo = mLaunchedFragments.pollFirst();
+                            if (requestInfo == null) {
+                                Log.w(TAG, "No IntentSenders were started for " + this);
+                                return;
+                            }
+                            String fragmentWho = requestInfo.mWho;
+                            int requestCode = requestInfo.mRequestCode;
+                            Fragment fragment =  mFragmentStore.findFragmentByWho(fragmentWho);
+                            // Although unlikely, it is possible this fragment could be null if a
+                            // fragment transactions was committed immediately after the for
+                            // result call
+                            if (fragment == null) {
+                                Log.w(TAG,
+                                        "Intent Sender result delivered for unknown Fragment "
+                                                + fragmentWho);
+                                return;
+                            }
+                            fragment.onActivityResult(requestCode, result.getResultCode(),
+                                    result.getData());
+                        }
+                    });
+
+            mRequestPermissions = registry.register(keyPrefix + "RequestPermissions",
+                    new ActivityResultContracts.RequestMultiplePermissions(),
+                    new ActivityResultCallback<Map<String, Boolean>>() {
+                        @SuppressLint("SyntheticAccessor")
+                        @Override
+                        public void onActivityResult(Map<String, Boolean> result) {
+                            String[] permissions = result.keySet().toArray(new String[0]);
+                            ArrayList<Boolean> resultValues = new ArrayList<>(result.values());
+                            int[] grantResults = new int[resultValues.size()];
+                            for (int i = 0; i < resultValues.size(); i++) {
+                                grantResults[i] = resultValues.get(i)
+                                        ? PackageManager.PERMISSION_GRANTED
+                                        : PackageManager.PERMISSION_DENIED;
+                            }
+                            LaunchedFragmentInfo requestInfo = mLaunchedFragments.pollFirst();
+                            if (requestInfo == null) {
+                                Log.w(TAG, "No permissions were requested for " + this);
+                                return;
+                            }
+                            String fragmentWho = requestInfo.mWho;
+                            int requestCode = requestInfo.mRequestCode;
+                            Fragment fragment =  mFragmentStore.findFragmentByWho(fragmentWho);
+                            // Although unlikely, it is possible this fragment could be null if a
+                            // fragment transactions was committed immediately after the request
+                            // permissions call
+                            if (fragment == null) {
+                                Log.w(TAG, "Permission request result delivered for unknown "
+                                        + "Fragment " + fragmentWho);
+                                return;
+                            }
+                            fragment.onRequestPermissionsResult(requestCode, permissions,
+                                    grantResults);
+                        }
+                    });
+        }
     }
 
     void noteStateNotSaved() {
@@ -2727,6 +2855,57 @@
         }
     }
 
+    void launchStartActivityForResult(@NonNull Fragment f,
+            @SuppressLint("UnknownNullness") Intent intent,
+            int requestCode, @Nullable Bundle options) {
+        if (mStartActivityForResult != null) {
+            LaunchedFragmentInfo info = new LaunchedFragmentInfo(f.mWho, requestCode);
+            mLaunchedFragments.addLast(info);
+            if (options != null) {
+                intent.putExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE, options);
+            }
+            mStartActivityForResult.launch(intent);
+        } else {
+            mHost.onStartActivityFromFragment(f, intent, requestCode, options);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    void launchStartIntentSenderForResult(@NonNull Fragment f,
+            @SuppressLint("UnknownNullness") IntentSender intent,
+            int requestCode, @Nullable Intent fillInIntent, int flagsMask, int flagsValues,
+            int extraFlags, @Nullable Bundle options) throws IntentSender.SendIntentException {
+        if (mStartIntentSenderForResult != null) {
+            IntentSenderRequest request =
+                    new IntentSenderRequest.Builder(intent).setFillInIntent(fillInIntent)
+                            .setFlags(flagsMask, flagsValues).build();
+            if (options != null) {
+                if (fillInIntent == null) {
+                    fillInIntent = new Intent();
+                }
+                fillInIntent.putExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE, options);
+            }
+            LaunchedFragmentInfo info = new LaunchedFragmentInfo(f.mWho, requestCode);
+            mLaunchedFragments.addLast(info);
+            mStartIntentSenderForResult.launch(request);
+        } else {
+            mHost.onStartIntentSenderFromFragment(f, intent, requestCode, fillInIntent,
+                    flagsMask, flagsValues, extraFlags, options);
+        }
+    }
+
+    @SuppressWarnings("deprecation")
+    void launchRequestPermissions(@NonNull Fragment f, @NonNull String[] permissions,
+            int requestCode) {
+        if (mRequestPermissions != null) {
+            LaunchedFragmentInfo info = new LaunchedFragmentInfo(f.mWho, requestCode);
+            mLaunchedFragments.addLast(info);
+            mRequestPermissions.launch(permissions);
+        } else {
+            mHost.onRequestPermissionsFromFragment(f, permissions, requestCode);
+        }
+    }
+
     void dispatchAttach() {
         mStateSaved = false;
         mStopped = false;
@@ -2790,6 +2969,11 @@
             mOnBackPressedCallback.remove();
             mOnBackPressedDispatcher = null;
         }
+        if (mStartActivityForResult != null) {
+            mStartActivityForResult.unregister();
+            mStartIntentSenderForResult.unregister();
+            mRequestPermissions.unregister();
+        }
     }
 
     private void dispatchStateChange(int nextState) {
@@ -3243,4 +3427,72 @@
             mRecord.mManager.completeExecute(mRecord, mIsBack, false, false);
         }
     }
+
+    @SuppressLint("BanParcelableUsage")
+    static class LaunchedFragmentInfo implements Parcelable {
+        String mWho;
+        int mRequestCode;
+
+        LaunchedFragmentInfo(@NonNull String who, int requestCode) {
+            mWho = who;
+            mRequestCode = requestCode;
+        }
+
+        LaunchedFragmentInfo(@NonNull Parcel in) {
+            mWho = in.readString();
+            mRequestCode = in.readInt();
+        }
+
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel dest, int flags) {
+            dest.writeString(mWho);
+            dest.writeInt(mRequestCode);
+        }
+
+        public static final Parcelable.Creator<LaunchedFragmentInfo> CREATOR =
+                new Creator<LaunchedFragmentInfo>() {
+                    @Override
+                    public LaunchedFragmentInfo createFromParcel(Parcel in) {
+                        return new LaunchedFragmentInfo(in);
+                    }
+
+                    @Override
+                    public LaunchedFragmentInfo[] newArray(int size) {
+                        return new LaunchedFragmentInfo[size];
+                    }
+                };
+    }
+
+    static class FragmentIntentSenderContract extends ActivityResultContract<IntentSenderRequest,
+            ActivityResult> {
+
+        @NonNull
+        @Override
+        public Intent createIntent(@NonNull Context context, IntentSenderRequest input) {
+            Intent result = new Intent(ACTION_INTENT_SENDER_REQUEST);
+            if (input.getFillInIntent() != null) {
+                Bundle activityOptions =
+                        input.getFillInIntent().getBundleExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE);
+                int requestCode =
+                        input.getFillInIntent().getIntExtra(EXTRA_KEY_REQUEST_CODE, -1);
+                if (activityOptions != null) {
+                    result.putExtra(EXTRA_KEY_REQUEST_CODE, requestCode);
+                    result.putExtra(EXTRA_ACTIVITY_OPTIONS_BUNDLE, activityOptions);
+                }
+            }
+            result.putExtra(EXTRA_INTENT_SENDER_REQUEST, input);
+            return result;
+        }
+
+        @NonNull
+        @Override
+        public ActivityResult parseResult(int resultCode, @Nullable Intent intent) {
+            return new ActivityResult(resultCode, intent);
+        }
+    }
 }
diff --git a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerState.java b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerState.java
index f8a0dea..a83694a 100644
--- a/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerState.java
+++ b/fragment/fragment/src/main/java/androidx/fragment/app/FragmentManagerState.java
@@ -32,6 +32,7 @@
     String mPrimaryNavActiveWho = null;
     ArrayList<String> mResultKeys = new ArrayList<>();
     ArrayList<Bundle> mResults = new ArrayList<>();
+    ArrayList<FragmentManager.LaunchedFragmentInfo> mLaunchedFragments;
 
     public FragmentManagerState() {
     }
@@ -44,6 +45,7 @@
         mPrimaryNavActiveWho = in.readString();
         mResultKeys = in.createStringArrayList();
         mResults = in.createTypedArrayList(Bundle.CREATOR);
+        mLaunchedFragments = in.createTypedArrayList(FragmentManager.LaunchedFragmentInfo.CREATOR);
     }
 
     @Override
@@ -60,6 +62,7 @@
         dest.writeString(mPrimaryNavActiveWho);
         dest.writeStringList(mResultKeys);
         dest.writeTypedList(mResults);
+        dest.writeTypedList(mLaunchedFragments);
     }
 
     public static final Parcelable.Creator<FragmentManagerState> CREATOR
diff --git a/jetifier/jetifier/migration.config b/jetifier/jetifier/migration.config
index c2cb71b..3995c2f 100644
--- a/jetifier/jetifier/migration.config
+++ b/jetifier/jetifier/migration.config
@@ -351,10 +351,6 @@
       "to": "androidx/core/{0}"
     },
     {
-      "from": "android/arch/core/(.*)",
-      "to": "androidx/arch/core/{0}"
-    },
-    {
       "from": "android/arch/lifecycle/(.*)",
       "to": "androidx/lifecycle/{0}"
     },
@@ -371,10 +367,6 @@
       "to": "androidx/sqlite/{0}"
     },
     {
-      "from": "android/arch/core/executor/testing/(.*)",
-      "to": "androidx/arch/core/executor/testing/{0}"
-    },
-    {
       "from": "android/support/constraint/solver/(.*)",
       "to": "androidx/constraintlayout/solver/{0}"
     },
@@ -445,6 +437,10 @@
       "to": "ignore"
     },
     {
+      "from": "androidx/arch/core/(.*)",
+      "to": "ignore"
+    },
+    {
       "from": "androidx/collection/(.+)Kt(.*)",
       "to": "ignore"
     },
@@ -1195,11 +1191,11 @@
       "to": "androidx/paging/runtime"
     },
     {
-      "from": "android/arch/core/testing",
+      "from": "androidx/arch/core/testing",
       "to": "androidx/arch/core/testing"
     },
     {
-      "from": "android/arch/core",
+      "from": "androidx/arch/core",
       "to": "androidx/arch/core"
     },
     {
@@ -2350,9 +2346,9 @@
     },
     {
       "from": {
-        "groupId": "android.arch.core",
-        "artifactId": "common",
-        "version": "1.1.1"
+        "groupId": "androidx.arch.core",
+        "artifactId": "core-common",
+        "version": "{newArchCoreVersion}"
       },
       "to": {
         "groupId": "androidx.arch.core",
@@ -2362,9 +2358,9 @@
     },
     {
       "from": {
-        "groupId": "android.arch.core",
+        "groupId": "androidx.arch.core",
         "artifactId": "core",
-        "version": "1.0.0-alpha3"
+        "version": "{newArchCoreVersion}"
       },
       "to": {
         "groupId": "androidx.arch.core",
@@ -2374,9 +2370,9 @@
     },
     {
       "from": {
-        "groupId": "android.arch.core",
+        "groupId": "androidx.arch.core",
         "artifactId": "core-testing",
-        "version": "1.1.1"
+        "version": "{newArchCoreVersion}"
       },
       "to": {
         "groupId": "androidx.arch.core",
@@ -2386,9 +2382,9 @@
     },
     {
       "from": {
-        "groupId": "android.arch.core",
-        "artifactId": "runtime",
-        "version": "1.1.1"
+        "groupId": "androidx.arch.core",
+        "artifactId": "core-runtime",
+        "version": "{newArchCoreVersion}"
       },
       "to": {
         "groupId": "androidx.arch.core",
@@ -3367,17 +3363,6 @@
   },
   "map": {
     "types": {
-      "android/arch/core/executor/AppToolkitTaskExecutor": "androidx/arch/core/executor/AppToolkitTaskExecutor",
-      "android/arch/core/executor/ArchTaskExecutor": "androidx/arch/core/executor/ArchTaskExecutor",
-      "android/arch/core/executor/DefaultTaskExecutor": "androidx/arch/core/executor/DefaultTaskExecutor",
-      "android/arch/core/executor/JunitTaskExecutorRule": "androidx/arch/core/executor/JunitTaskExecutorRule",
-      "android/arch/core/executor/TaskExecutor": "androidx/arch/core/executor/TaskExecutor",
-      "android/arch/core/executor/TaskExecutorWithFakeMainThread": "androidx/arch/core/executor/TaskExecutorWithFakeMainThread",
-      "android/arch/core/executor/testing/CountingTaskExecutorRule": "androidx/arch/core/executor/testing/CountingTaskExecutorRule",
-      "android/arch/core/executor/testing/InstantTaskExecutorRule": "androidx/arch/core/executor/testing/InstantTaskExecutorRule",
-      "android/arch/core/internal/FastSafeIterableMap": "androidx/arch/core/internal/FastSafeIterableMap",
-      "android/arch/core/internal/SafeIterableMap": "androidx/arch/core/internal/SafeIterableMap",
-      "android/arch/core/util/Function": "androidx/arch/core/util/Function",
       "android/arch/lifecycle/AndroidViewModel": "androidx/lifecycle/AndroidViewModel",
       "android/arch/lifecycle/ClassesInfoCache": "androidx/lifecycle/ClassesInfoCache",
       "android/arch/lifecycle/CompositeGeneratedAdaptersObserver": "androidx/lifecycle/CompositeGeneratedAdaptersObserver",
@@ -4356,4 +4341,4 @@
       "androidx/support/content/wakelockid": "androidx/support/content/wakelockid"
     }
   }
-}
+}
\ No newline at end of file
diff --git a/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedAction.java b/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedAction.java
index 5282770..952d62e 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedAction.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/widget/GuidedAction.java
@@ -564,7 +564,7 @@
     public static class Builder extends BuilderBase<Builder> {
 
         /**
-         * @deprecated Use {@link GuidedAction.Builder#GuidedAction.Builder(Context)}.
+         * @deprecated Use {@link GuidedAction.Builder#Builder(Context)}.
          */
         @Deprecated
         public Builder() {
diff --git a/leanback/leanback/src/main/java/androidx/leanback/widget/RowHeaderPresenter.java b/leanback/leanback/src/main/java/androidx/leanback/widget/RowHeaderPresenter.java
index 1c250de..328b2a4 100644
--- a/leanback/leanback/src/main/java/androidx/leanback/widget/RowHeaderPresenter.java
+++ b/leanback/leanback/src/main/java/androidx/leanback/widget/RowHeaderPresenter.java
@@ -40,7 +40,7 @@
 
     /**
      * Creates default RowHeaderPresenter using a title view and a description view.
-     * @see ViewHolder#RowHeaderPresenter.ViewHolder(View)
+     * @see ViewHolder#ViewHolder(View)
      */
     public RowHeaderPresenter() {
         this(R.layout.lb_row_header);
diff --git a/lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt b/lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt
index 1b7328e..10a133f 100644
--- a/lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt
+++ b/lifecycle/lifecycle-livedata-core-ktx-lint/src/main/java/androidx/lifecycle/lint/NonNullableMutableLiveDataDetector.kt
@@ -79,10 +79,11 @@
 
         val receiverType = node.receiverType as PsiClassType
         val liveDataType = if (receiverType.hasParameters()) {
-            val receiver = (node.receiver as KotlinUSimpleReferenceExpression).resolve()
+            val receiver = (node.receiver as? KotlinUSimpleReferenceExpression)?.resolve() ?: return
             val assignment = UastLintUtils.findLastAssignment(receiver as PsiVariable, node)
-            val constructorExpression = assignment.sourcePsi as KtCallExpression
-            constructorExpression.typeArguments.singleOrNull()?.typeReference
+                ?: return
+            val constructorExpression = assignment.sourcePsi as? KtCallExpression
+            constructorExpression?.typeArguments?.singleOrNull()?.typeReference
         } else {
             getTypeArg(receiverType)
         } ?: return
diff --git a/lifecycle/lifecycle-livedata-core-ktx/build.gradle b/lifecycle/lifecycle-livedata-core-ktx/build.gradle
index 6eec55d..a078c583 100644
--- a/lifecycle/lifecycle-livedata-core-ktx/build.gradle
+++ b/lifecycle/lifecycle-livedata-core-ktx/build.gradle
@@ -45,6 +45,8 @@
     testImplementation(KOTLIN_COROUTINES_TEST)
     testImplementation(JUNIT)
     testImplementation(TRUTH)
+
+    lintPublish(project(':lifecycle:lifecycle-livedata-core-ktx-lint'))
 }
 
 androidx {
diff --git a/navigation/navigation-common-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-common-ktx/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-common-ktx/api/2.3.0-alpha07.txt
rename to navigation/navigation-common-ktx/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index 5817198..0000000
--- a/navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  @androidx.navigation.NavOptionsDsl public final class AnimBuilder {
-    ctor public AnimBuilder();
-    method public int getEnter();
-    method public int getExit();
-    method public int getPopEnter();
-    method public int getPopExit();
-    method public void setEnter(int p);
-    method public void setExit(int p);
-    method public void setPopEnter(int p);
-    method public void setPopExit(int p);
-    property public final int enter;
-    property public final int exit;
-    property public final int popEnter;
-    property public final int popExit;
-  }
-
-  @androidx.navigation.NavDestinationDsl public final class NavActionBuilder {
-    ctor public NavActionBuilder();
-    method public java.util.Map<java.lang.String,java.lang.Object> getDefaultArguments();
-    method public int getDestinationId();
-    method public void navOptions(kotlin.jvm.functions.Function1<? super androidx.navigation.NavOptionsBuilder,kotlin.Unit> optionsBuilder);
-    method public void setDestinationId(int p);
-    property public final java.util.Map<java.lang.String,java.lang.Object> defaultArguments;
-    property public final int destinationId;
-  }
-
-  public final class NavArgsLazy<Args extends androidx.navigation.NavArgs> implements kotlin.Lazy<Args> {
-    ctor public NavArgsLazy(kotlin.reflect.KClass<Args> navArgsClass, kotlin.jvm.functions.Function0<android.os.Bundle> argumentProducer);
-    method public Args getValue();
-    method public boolean isInitialized();
-    property public Args value;
-  }
-
-  public final class NavArgsLazyKt {
-  }
-
-  @androidx.navigation.NavDestinationDsl public final class NavArgumentBuilder {
-    ctor public NavArgumentBuilder();
-    method public androidx.navigation.NavArgument build();
-    method public Object? getDefaultValue();
-    method public boolean getNullable();
-    method public androidx.navigation.NavType<?> getType();
-    method public void setDefaultValue(Object? value);
-    method public void setNullable(boolean value);
-    method public void setType(androidx.navigation.NavType<?> value);
-    property public final Object? defaultValue;
-    property public final boolean nullable;
-    property public final androidx.navigation.NavType<?> type;
-  }
-
-  @kotlin.DslMarker public @interface NavDeepLinkDsl {
-  }
-
-  @androidx.navigation.NavDeepLinkDsl public final class NavDeepLinkDslBuilder {
-    ctor public NavDeepLinkDslBuilder();
-    method public String? getAction();
-    method public String? getMimeType();
-    method public String? getUriPattern();
-    method public void setAction(String? p);
-    method public void setMimeType(String? p);
-    method public void setUriPattern(String? p);
-    property public final String? action;
-    property public final String? mimeType;
-    property public final String? uriPattern;
-  }
-
-  public final class NavDeepLinkDslBuilderKt {
-    method public static androidx.navigation.NavDeepLink navDeepLink(kotlin.jvm.functions.Function1<? super androidx.navigation.NavDeepLinkDslBuilder,kotlin.Unit> deepLinkBuilder);
-  }
-
-  @androidx.navigation.NavDestinationDsl public class NavDestinationBuilder<D extends androidx.navigation.NavDestination> {
-    ctor public NavDestinationBuilder(androidx.navigation.Navigator<? extends D> navigator, @IdRes int id);
-    method public final void action(int actionId, kotlin.jvm.functions.Function1<? super androidx.navigation.NavActionBuilder,kotlin.Unit> actionBuilder);
-    method public final void argument(String name, kotlin.jvm.functions.Function1<? super androidx.navigation.NavArgumentBuilder,kotlin.Unit> argumentBuilder);
-    method public D build();
-    method public final void deepLink(String uriPattern);
-    method public final void deepLink(kotlin.jvm.functions.Function1<? super androidx.navigation.NavDeepLinkDslBuilder,kotlin.Unit> navDeepLink);
-    method public final int getId();
-    method public final CharSequence? getLabel();
-    method protected final androidx.navigation.Navigator<? extends D> getNavigator();
-    method public final void setLabel(CharSequence? p);
-    property public final CharSequence? label;
-  }
-
-  @kotlin.DslMarker public @interface NavDestinationDsl {
-  }
-
-  @androidx.navigation.NavDestinationDsl public class NavGraphBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.NavGraph> {
-    ctor public NavGraphBuilder(androidx.navigation.NavigatorProvider provider, @IdRes int id, @IdRes int startDestination);
-    method public final void addDestination(androidx.navigation.NavDestination destination);
-    method public androidx.navigation.NavGraph build();
-    method public final <D extends androidx.navigation.NavDestination> void destination(androidx.navigation.NavDestinationBuilder<? extends D> navDestination);
-    method public final androidx.navigation.NavigatorProvider getProvider();
-    method public final operator void unaryPlus(androidx.navigation.NavDestination);
-  }
-
-  public final class NavGraphBuilderKt {
-    method public static inline androidx.navigation.NavGraph navigation(androidx.navigation.NavigatorProvider, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-    method public static inline void navigation(androidx.navigation.NavGraphBuilder, @IdRes int id, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavGraphKt {
-    method public static operator boolean contains(androidx.navigation.NavGraph, @IdRes int id);
-    method public static inline operator androidx.navigation.NavDestination get(androidx.navigation.NavGraph, @IdRes int id);
-    method public static inline operator void minusAssign(androidx.navigation.NavGraph, androidx.navigation.NavDestination node);
-    method public static inline operator void plusAssign(androidx.navigation.NavGraph, androidx.navigation.NavDestination node);
-    method public static inline operator void plusAssign(androidx.navigation.NavGraph, androidx.navigation.NavGraph other);
-  }
-
-  @androidx.navigation.NavOptionsDsl public final class NavOptionsBuilder {
-    ctor public NavOptionsBuilder();
-    method public void anim(kotlin.jvm.functions.Function1<? super androidx.navigation.AnimBuilder,kotlin.Unit> animBuilder);
-    method public boolean getLaunchSingleTop();
-    method public int getPopUpTo();
-    method public void popUpTo(@IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.PopUpToBuilder,kotlin.Unit> popUpToBuilder);
-    method public void setLaunchSingleTop(boolean p);
-    method public void setPopUpTo(int value);
-    property public final boolean launchSingleTop;
-    property public final int popUpTo;
-  }
-
-  public final class NavOptionsBuilderKt {
-    method public static androidx.navigation.NavOptions navOptions(kotlin.jvm.functions.Function1<? super androidx.navigation.NavOptionsBuilder,kotlin.Unit> optionsBuilder);
-  }
-
-  @kotlin.DslMarker public @interface NavOptionsDsl {
-  }
-
-  public final class NavigatorProviderKt {
-    method public static inline operator <T extends androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>> T get(androidx.navigation.NavigatorProvider, String name);
-    method public static inline operator <T extends androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>> T get(androidx.navigation.NavigatorProvider, kotlin.reflect.KClass<T> clazz);
-    method public static inline operator void plusAssign(androidx.navigation.NavigatorProvider, androidx.navigation.Navigator<? extends androidx.navigation.NavDestination> navigator);
-    method public static inline operator androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>? set(androidx.navigation.NavigatorProvider, String name, androidx.navigation.Navigator<? extends androidx.navigation.NavDestination> navigator);
-  }
-
-  @androidx.navigation.NavOptionsDsl public final class PopUpToBuilder {
-    ctor public PopUpToBuilder();
-    method public boolean getInclusive();
-    method public void setInclusive(boolean p);
-    property public final boolean inclusive;
-  }
-
-}
-
diff --git a/navigation/navigation-common-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-common-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-common-ktx/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-common-ktx/api/res-2.3.0-alpha07.txt b/navigation/navigation-common-ktx/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-common-ktx/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-common-ktx/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-common-ktx/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-common-ktx/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index 5817198..0000000
--- a/navigation/navigation-common-ktx/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,147 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  @androidx.navigation.NavOptionsDsl public final class AnimBuilder {
-    ctor public AnimBuilder();
-    method public int getEnter();
-    method public int getExit();
-    method public int getPopEnter();
-    method public int getPopExit();
-    method public void setEnter(int p);
-    method public void setExit(int p);
-    method public void setPopEnter(int p);
-    method public void setPopExit(int p);
-    property public final int enter;
-    property public final int exit;
-    property public final int popEnter;
-    property public final int popExit;
-  }
-
-  @androidx.navigation.NavDestinationDsl public final class NavActionBuilder {
-    ctor public NavActionBuilder();
-    method public java.util.Map<java.lang.String,java.lang.Object> getDefaultArguments();
-    method public int getDestinationId();
-    method public void navOptions(kotlin.jvm.functions.Function1<? super androidx.navigation.NavOptionsBuilder,kotlin.Unit> optionsBuilder);
-    method public void setDestinationId(int p);
-    property public final java.util.Map<java.lang.String,java.lang.Object> defaultArguments;
-    property public final int destinationId;
-  }
-
-  public final class NavArgsLazy<Args extends androidx.navigation.NavArgs> implements kotlin.Lazy<Args> {
-    ctor public NavArgsLazy(kotlin.reflect.KClass<Args> navArgsClass, kotlin.jvm.functions.Function0<android.os.Bundle> argumentProducer);
-    method public Args getValue();
-    method public boolean isInitialized();
-    property public Args value;
-  }
-
-  public final class NavArgsLazyKt {
-  }
-
-  @androidx.navigation.NavDestinationDsl public final class NavArgumentBuilder {
-    ctor public NavArgumentBuilder();
-    method public androidx.navigation.NavArgument build();
-    method public Object? getDefaultValue();
-    method public boolean getNullable();
-    method public androidx.navigation.NavType<?> getType();
-    method public void setDefaultValue(Object? value);
-    method public void setNullable(boolean value);
-    method public void setType(androidx.navigation.NavType<?> value);
-    property public final Object? defaultValue;
-    property public final boolean nullable;
-    property public final androidx.navigation.NavType<?> type;
-  }
-
-  @kotlin.DslMarker public @interface NavDeepLinkDsl {
-  }
-
-  @androidx.navigation.NavDeepLinkDsl public final class NavDeepLinkDslBuilder {
-    ctor public NavDeepLinkDslBuilder();
-    method public String? getAction();
-    method public String? getMimeType();
-    method public String? getUriPattern();
-    method public void setAction(String? p);
-    method public void setMimeType(String? p);
-    method public void setUriPattern(String? p);
-    property public final String? action;
-    property public final String? mimeType;
-    property public final String? uriPattern;
-  }
-
-  public final class NavDeepLinkDslBuilderKt {
-    method public static androidx.navigation.NavDeepLink navDeepLink(kotlin.jvm.functions.Function1<? super androidx.navigation.NavDeepLinkDslBuilder,kotlin.Unit> deepLinkBuilder);
-  }
-
-  @androidx.navigation.NavDestinationDsl public class NavDestinationBuilder<D extends androidx.navigation.NavDestination> {
-    ctor public NavDestinationBuilder(androidx.navigation.Navigator<? extends D> navigator, @IdRes int id);
-    method public final void action(int actionId, kotlin.jvm.functions.Function1<? super androidx.navigation.NavActionBuilder,kotlin.Unit> actionBuilder);
-    method public final void argument(String name, kotlin.jvm.functions.Function1<? super androidx.navigation.NavArgumentBuilder,kotlin.Unit> argumentBuilder);
-    method public D build();
-    method public final void deepLink(String uriPattern);
-    method public final void deepLink(kotlin.jvm.functions.Function1<? super androidx.navigation.NavDeepLinkDslBuilder,kotlin.Unit> navDeepLink);
-    method public final int getId();
-    method public final CharSequence? getLabel();
-    method protected final androidx.navigation.Navigator<? extends D> getNavigator();
-    method public final void setLabel(CharSequence? p);
-    property public final CharSequence? label;
-  }
-
-  @kotlin.DslMarker public @interface NavDestinationDsl {
-  }
-
-  @androidx.navigation.NavDestinationDsl public class NavGraphBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.NavGraph> {
-    ctor public NavGraphBuilder(androidx.navigation.NavigatorProvider provider, @IdRes int id, @IdRes int startDestination);
-    method public final void addDestination(androidx.navigation.NavDestination destination);
-    method public androidx.navigation.NavGraph build();
-    method public final <D extends androidx.navigation.NavDestination> void destination(androidx.navigation.NavDestinationBuilder<? extends D> navDestination);
-    method public final androidx.navigation.NavigatorProvider getProvider();
-    method public final operator void unaryPlus(androidx.navigation.NavDestination);
-  }
-
-  public final class NavGraphBuilderKt {
-    method public static inline androidx.navigation.NavGraph navigation(androidx.navigation.NavigatorProvider, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-    method public static inline void navigation(androidx.navigation.NavGraphBuilder, @IdRes int id, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavGraphKt {
-    method public static operator boolean contains(androidx.navigation.NavGraph, @IdRes int id);
-    method public static inline operator androidx.navigation.NavDestination get(androidx.navigation.NavGraph, @IdRes int id);
-    method public static inline operator void minusAssign(androidx.navigation.NavGraph, androidx.navigation.NavDestination node);
-    method public static inline operator void plusAssign(androidx.navigation.NavGraph, androidx.navigation.NavDestination node);
-    method public static inline operator void plusAssign(androidx.navigation.NavGraph, androidx.navigation.NavGraph other);
-  }
-
-  @androidx.navigation.NavOptionsDsl public final class NavOptionsBuilder {
-    ctor public NavOptionsBuilder();
-    method public void anim(kotlin.jvm.functions.Function1<? super androidx.navigation.AnimBuilder,kotlin.Unit> animBuilder);
-    method public boolean getLaunchSingleTop();
-    method public int getPopUpTo();
-    method public void popUpTo(@IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.PopUpToBuilder,kotlin.Unit> popUpToBuilder);
-    method public void setLaunchSingleTop(boolean p);
-    method public void setPopUpTo(int value);
-    property public final boolean launchSingleTop;
-    property public final int popUpTo;
-  }
-
-  public final class NavOptionsBuilderKt {
-    method public static androidx.navigation.NavOptions navOptions(kotlin.jvm.functions.Function1<? super androidx.navigation.NavOptionsBuilder,kotlin.Unit> optionsBuilder);
-  }
-
-  @kotlin.DslMarker public @interface NavOptionsDsl {
-  }
-
-  public final class NavigatorProviderKt {
-    method public static inline operator <T extends androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>> T get(androidx.navigation.NavigatorProvider, String name);
-    method public static inline operator <T extends androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>> T get(androidx.navigation.NavigatorProvider, kotlin.reflect.KClass<T> clazz);
-    method public static inline operator void plusAssign(androidx.navigation.NavigatorProvider, androidx.navigation.Navigator<? extends androidx.navigation.NavDestination> navigator);
-    method public static inline operator androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>? set(androidx.navigation.NavigatorProvider, String name, androidx.navigation.Navigator<? extends androidx.navigation.NavDestination> navigator);
-  }
-
-  @androidx.navigation.NavOptionsDsl public final class PopUpToBuilder {
-    ctor public PopUpToBuilder();
-    method public boolean getInclusive();
-    method public void setInclusive(boolean p);
-    property public final boolean inclusive;
-  }
-
-}
-
diff --git a/navigation/navigation-common-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-common-ktx/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-common-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-common-ktx/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-common/api/2.3.0-alpha07.txt b/navigation/navigation-common/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-common/api/2.3.0-alpha07.txt
rename to navigation/navigation-common/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index a5e68d6..0000000
--- a/navigation/navigation-common/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,230 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  public final class ActionOnlyNavDirections implements androidx.navigation.NavDirections {
-    ctor public ActionOnlyNavDirections(int);
-    method public int getActionId();
-    method public android.os.Bundle getArguments();
-  }
-
-  public interface FloatingWindow {
-  }
-
-  public final class NavAction {
-    ctor public NavAction(@IdRes int);
-    ctor public NavAction(@IdRes int, androidx.navigation.NavOptions?);
-    ctor public NavAction(@IdRes int, androidx.navigation.NavOptions?, android.os.Bundle?);
-    method public android.os.Bundle? getDefaultArguments();
-    method public int getDestinationId();
-    method public androidx.navigation.NavOptions? getNavOptions();
-    method public void setDefaultArguments(android.os.Bundle?);
-    method public void setNavOptions(androidx.navigation.NavOptions?);
-  }
-
-  public interface NavArgs {
-  }
-
-  public final class NavArgument {
-    method public Object? getDefaultValue();
-    method public androidx.navigation.NavType<?> getType();
-    method public boolean isDefaultValuePresent();
-    method public boolean isNullable();
-  }
-
-  public static final class NavArgument.Builder {
-    ctor public NavArgument.Builder();
-    method public androidx.navigation.NavArgument build();
-    method public androidx.navigation.NavArgument.Builder setDefaultValue(Object?);
-    method public androidx.navigation.NavArgument.Builder setIsNullable(boolean);
-    method public androidx.navigation.NavArgument.Builder setType(androidx.navigation.NavType<?>);
-  }
-
-  public final class NavDeepLink {
-    method public String? getAction();
-    method public String? getMimeType();
-    method public String? getUriPattern();
-  }
-
-  public static final class NavDeepLink.Builder {
-    method public androidx.navigation.NavDeepLink build();
-    method public static androidx.navigation.NavDeepLink.Builder fromAction(String);
-    method public static androidx.navigation.NavDeepLink.Builder fromMimeType(String);
-    method public static androidx.navigation.NavDeepLink.Builder fromUriPattern(String);
-    method public androidx.navigation.NavDeepLink.Builder setAction(String);
-    method public androidx.navigation.NavDeepLink.Builder setMimeType(String);
-    method public androidx.navigation.NavDeepLink.Builder setUriPattern(String);
-  }
-
-  public class NavDeepLinkRequest {
-    method public String? getAction();
-    method public String? getMimeType();
-    method public android.net.Uri? getUri();
-  }
-
-  public static final class NavDeepLinkRequest.Builder {
-    method public androidx.navigation.NavDeepLinkRequest build();
-    method public static androidx.navigation.NavDeepLinkRequest.Builder fromAction(String);
-    method public static androidx.navigation.NavDeepLinkRequest.Builder fromMimeType(String);
-    method public static androidx.navigation.NavDeepLinkRequest.Builder fromUri(android.net.Uri);
-    method public androidx.navigation.NavDeepLinkRequest.Builder setAction(String);
-    method public androidx.navigation.NavDeepLinkRequest.Builder setMimeType(String);
-    method public androidx.navigation.NavDeepLinkRequest.Builder setUri(android.net.Uri);
-  }
-
-  public class NavDestination {
-    ctor public NavDestination(androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>);
-    ctor public NavDestination(String);
-    method public final void addArgument(String, androidx.navigation.NavArgument);
-    method public final void addDeepLink(String);
-    method public final void addDeepLink(androidx.navigation.NavDeepLink);
-    method public final androidx.navigation.NavAction? getAction(@IdRes int);
-    method public final java.util.Map<java.lang.String!,androidx.navigation.NavArgument!> getArguments();
-    method @IdRes public final int getId();
-    method public final CharSequence? getLabel();
-    method public final String getNavigatorName();
-    method public final androidx.navigation.NavGraph? getParent();
-    method public boolean hasDeepLink(android.net.Uri);
-    method public boolean hasDeepLink(androidx.navigation.NavDeepLinkRequest);
-    method @CallSuper public void onInflate(android.content.Context, android.util.AttributeSet);
-    method protected static <C> Class<? extends C> parseClassFromName(android.content.Context, String, Class<? extends C>);
-    method public final void putAction(@IdRes int, @IdRes int);
-    method public final void putAction(@IdRes int, androidx.navigation.NavAction);
-    method public final void removeAction(@IdRes int);
-    method public final void removeArgument(String);
-    method public final void setId(@IdRes int);
-    method public final void setLabel(CharSequence?);
-  }
-
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface NavDestination.ClassType {
-    method public abstract Class<?> value();
-  }
-
-  public interface NavDirections {
-    method @IdRes public int getActionId();
-    method public android.os.Bundle getArguments();
-  }
-
-  public class NavGraph extends androidx.navigation.NavDestination implements java.lang.Iterable<androidx.navigation.NavDestination> {
-    ctor public NavGraph(androidx.navigation.Navigator<? extends androidx.navigation.NavGraph>);
-    method public final void addAll(androidx.navigation.NavGraph);
-    method public final void addDestination(androidx.navigation.NavDestination);
-    method public final void addDestinations(java.util.Collection<androidx.navigation.NavDestination!>);
-    method public final void addDestinations(androidx.navigation.NavDestination!...);
-    method public final void clear();
-    method public final androidx.navigation.NavDestination? findNode(@IdRes int);
-    method @IdRes public final int getStartDestination();
-    method public final java.util.Iterator<androidx.navigation.NavDestination!> iterator();
-    method public final void remove(androidx.navigation.NavDestination);
-    method public final void setStartDestination(@IdRes int);
-  }
-
-  @androidx.navigation.Navigator.Name("navigation") public class NavGraphNavigator extends androidx.navigation.Navigator<androidx.navigation.NavGraph> {
-    ctor public NavGraphNavigator(androidx.navigation.NavigatorProvider);
-    method public androidx.navigation.NavGraph createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.NavGraph, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  public final class NavOptions {
-    method @AnimRes @AnimatorRes public int getEnterAnim();
-    method @AnimRes @AnimatorRes public int getExitAnim();
-    method @AnimRes @AnimatorRes public int getPopEnterAnim();
-    method @AnimRes @AnimatorRes public int getPopExitAnim();
-    method @IdRes public int getPopUpTo();
-    method public boolean isPopUpToInclusive();
-    method public boolean shouldLaunchSingleTop();
-  }
-
-  public static final class NavOptions.Builder {
-    ctor public NavOptions.Builder();
-    method public androidx.navigation.NavOptions build();
-    method public androidx.navigation.NavOptions.Builder setEnterAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setExitAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setLaunchSingleTop(boolean);
-    method public androidx.navigation.NavOptions.Builder setPopEnterAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setPopExitAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setPopUpTo(@IdRes int, boolean);
-  }
-
-  public abstract class NavType<T> {
-    method public static androidx.navigation.NavType<?> fromArgType(String?, String?);
-    method public abstract T? get(android.os.Bundle, String);
-    method public abstract String getName();
-    method public boolean isNullableAllowed();
-    method public abstract T parseValue(String);
-    method public abstract void put(android.os.Bundle, String, T?);
-    field public static final androidx.navigation.NavType<boolean[]!> BoolArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Boolean!> BoolType;
-    field public static final androidx.navigation.NavType<float[]!> FloatArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Float!> FloatType;
-    field public static final androidx.navigation.NavType<int[]!> IntArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Integer!> IntType;
-    field public static final androidx.navigation.NavType<long[]!> LongArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Long!> LongType;
-    field public static final androidx.navigation.NavType<java.lang.Integer!> ReferenceType;
-    field public static final androidx.navigation.NavType<java.lang.String![]!> StringArrayType;
-    field public static final androidx.navigation.NavType<java.lang.String!> StringType;
-  }
-
-  public static final class NavType.EnumType<D extends java.lang.Enum> extends androidx.navigation.NavType.SerializableType<D> {
-    ctor public NavType.EnumType(Class<D!>);
-  }
-
-  public static final class NavType.ParcelableArrayType<D extends android.os.Parcelable> extends androidx.navigation.NavType<D[]> {
-    ctor public NavType.ParcelableArrayType(Class<D!>);
-    method public D![]? get(android.os.Bundle, String);
-    method public String getName();
-    method public D![] parseValue(String);
-    method public void put(android.os.Bundle, String, D![]?);
-  }
-
-  public static final class NavType.ParcelableType<D> extends androidx.navigation.NavType<D> {
-    ctor public NavType.ParcelableType(Class<D!>);
-    method public D? get(android.os.Bundle, String);
-    method public String getName();
-    method public D parseValue(String);
-    method public void put(android.os.Bundle, String, D?);
-  }
-
-  public static final class NavType.SerializableArrayType<D extends java.io.Serializable> extends androidx.navigation.NavType<D[]> {
-    ctor public NavType.SerializableArrayType(Class<D!>);
-    method public D![]? get(android.os.Bundle, String);
-    method public String getName();
-    method public D![] parseValue(String);
-    method public void put(android.os.Bundle, String, D![]?);
-  }
-
-  public static class NavType.SerializableType<D extends java.io.Serializable> extends androidx.navigation.NavType<D> {
-    ctor public NavType.SerializableType(Class<D!>);
-    method public D? get(android.os.Bundle, String);
-    method public String getName();
-    method public D parseValue(String);
-    method public void put(android.os.Bundle, String, D?);
-  }
-
-  public abstract class Navigator<D extends androidx.navigation.NavDestination> {
-    ctor public Navigator();
-    method public abstract D createDestination();
-    method public abstract androidx.navigation.NavDestination? navigate(D, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void onRestoreState(android.os.Bundle);
-    method public android.os.Bundle? onSaveState();
-    method public abstract boolean popBackStack();
-  }
-
-  public static interface Navigator.Extras {
-  }
-
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface Navigator.Name {
-    method public abstract String value();
-  }
-
-  public class NavigatorProvider {
-    ctor public NavigatorProvider();
-    method public final androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>? addNavigator(androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>);
-    method @CallSuper public androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>? addNavigator(String, androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>);
-    method public final <T extends androidx.navigation.Navigator<?>> T getNavigator(Class<T!>);
-    method @CallSuper public <T extends androidx.navigation.Navigator<?>> T getNavigator(String);
-  }
-
-}
-
diff --git a/navigation/navigation-common/api/2.3.0-alpha07.txt b/navigation/navigation-common/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-common/api/2.3.0-alpha07.txt
copy to navigation/navigation-common/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-common/api/res-2.3.0-alpha07.txt b/navigation/navigation-common/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-common/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-common/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-common/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-common/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index a5e68d6..0000000
--- a/navigation/navigation-common/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,230 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  public final class ActionOnlyNavDirections implements androidx.navigation.NavDirections {
-    ctor public ActionOnlyNavDirections(int);
-    method public int getActionId();
-    method public android.os.Bundle getArguments();
-  }
-
-  public interface FloatingWindow {
-  }
-
-  public final class NavAction {
-    ctor public NavAction(@IdRes int);
-    ctor public NavAction(@IdRes int, androidx.navigation.NavOptions?);
-    ctor public NavAction(@IdRes int, androidx.navigation.NavOptions?, android.os.Bundle?);
-    method public android.os.Bundle? getDefaultArguments();
-    method public int getDestinationId();
-    method public androidx.navigation.NavOptions? getNavOptions();
-    method public void setDefaultArguments(android.os.Bundle?);
-    method public void setNavOptions(androidx.navigation.NavOptions?);
-  }
-
-  public interface NavArgs {
-  }
-
-  public final class NavArgument {
-    method public Object? getDefaultValue();
-    method public androidx.navigation.NavType<?> getType();
-    method public boolean isDefaultValuePresent();
-    method public boolean isNullable();
-  }
-
-  public static final class NavArgument.Builder {
-    ctor public NavArgument.Builder();
-    method public androidx.navigation.NavArgument build();
-    method public androidx.navigation.NavArgument.Builder setDefaultValue(Object?);
-    method public androidx.navigation.NavArgument.Builder setIsNullable(boolean);
-    method public androidx.navigation.NavArgument.Builder setType(androidx.navigation.NavType<?>);
-  }
-
-  public final class NavDeepLink {
-    method public String? getAction();
-    method public String? getMimeType();
-    method public String? getUriPattern();
-  }
-
-  public static final class NavDeepLink.Builder {
-    method public androidx.navigation.NavDeepLink build();
-    method public static androidx.navigation.NavDeepLink.Builder fromAction(String);
-    method public static androidx.navigation.NavDeepLink.Builder fromMimeType(String);
-    method public static androidx.navigation.NavDeepLink.Builder fromUriPattern(String);
-    method public androidx.navigation.NavDeepLink.Builder setAction(String);
-    method public androidx.navigation.NavDeepLink.Builder setMimeType(String);
-    method public androidx.navigation.NavDeepLink.Builder setUriPattern(String);
-  }
-
-  public class NavDeepLinkRequest {
-    method public String? getAction();
-    method public String? getMimeType();
-    method public android.net.Uri? getUri();
-  }
-
-  public static final class NavDeepLinkRequest.Builder {
-    method public androidx.navigation.NavDeepLinkRequest build();
-    method public static androidx.navigation.NavDeepLinkRequest.Builder fromAction(String);
-    method public static androidx.navigation.NavDeepLinkRequest.Builder fromMimeType(String);
-    method public static androidx.navigation.NavDeepLinkRequest.Builder fromUri(android.net.Uri);
-    method public androidx.navigation.NavDeepLinkRequest.Builder setAction(String);
-    method public androidx.navigation.NavDeepLinkRequest.Builder setMimeType(String);
-    method public androidx.navigation.NavDeepLinkRequest.Builder setUri(android.net.Uri);
-  }
-
-  public class NavDestination {
-    ctor public NavDestination(androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>);
-    ctor public NavDestination(String);
-    method public final void addArgument(String, androidx.navigation.NavArgument);
-    method public final void addDeepLink(String);
-    method public final void addDeepLink(androidx.navigation.NavDeepLink);
-    method public final androidx.navigation.NavAction? getAction(@IdRes int);
-    method public final java.util.Map<java.lang.String!,androidx.navigation.NavArgument!> getArguments();
-    method @IdRes public final int getId();
-    method public final CharSequence? getLabel();
-    method public final String getNavigatorName();
-    method public final androidx.navigation.NavGraph? getParent();
-    method public boolean hasDeepLink(android.net.Uri);
-    method public boolean hasDeepLink(androidx.navigation.NavDeepLinkRequest);
-    method @CallSuper public void onInflate(android.content.Context, android.util.AttributeSet);
-    method protected static <C> Class<? extends C> parseClassFromName(android.content.Context, String, Class<? extends C>);
-    method public final void putAction(@IdRes int, @IdRes int);
-    method public final void putAction(@IdRes int, androidx.navigation.NavAction);
-    method public final void removeAction(@IdRes int);
-    method public final void removeArgument(String);
-    method public final void setId(@IdRes int);
-    method public final void setLabel(CharSequence?);
-  }
-
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface NavDestination.ClassType {
-    method public abstract Class<?> value();
-  }
-
-  public interface NavDirections {
-    method @IdRes public int getActionId();
-    method public android.os.Bundle getArguments();
-  }
-
-  public class NavGraph extends androidx.navigation.NavDestination implements java.lang.Iterable<androidx.navigation.NavDestination> {
-    ctor public NavGraph(androidx.navigation.Navigator<? extends androidx.navigation.NavGraph>);
-    method public final void addAll(androidx.navigation.NavGraph);
-    method public final void addDestination(androidx.navigation.NavDestination);
-    method public final void addDestinations(java.util.Collection<androidx.navigation.NavDestination!>);
-    method public final void addDestinations(androidx.navigation.NavDestination!...);
-    method public final void clear();
-    method public final androidx.navigation.NavDestination? findNode(@IdRes int);
-    method @IdRes public final int getStartDestination();
-    method public final java.util.Iterator<androidx.navigation.NavDestination!> iterator();
-    method public final void remove(androidx.navigation.NavDestination);
-    method public final void setStartDestination(@IdRes int);
-  }
-
-  @androidx.navigation.Navigator.Name("navigation") public class NavGraphNavigator extends androidx.navigation.Navigator<androidx.navigation.NavGraph> {
-    ctor public NavGraphNavigator(androidx.navigation.NavigatorProvider);
-    method public androidx.navigation.NavGraph createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.NavGraph, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  public final class NavOptions {
-    method @AnimRes @AnimatorRes public int getEnterAnim();
-    method @AnimRes @AnimatorRes public int getExitAnim();
-    method @AnimRes @AnimatorRes public int getPopEnterAnim();
-    method @AnimRes @AnimatorRes public int getPopExitAnim();
-    method @IdRes public int getPopUpTo();
-    method public boolean isPopUpToInclusive();
-    method public boolean shouldLaunchSingleTop();
-  }
-
-  public static final class NavOptions.Builder {
-    ctor public NavOptions.Builder();
-    method public androidx.navigation.NavOptions build();
-    method public androidx.navigation.NavOptions.Builder setEnterAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setExitAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setLaunchSingleTop(boolean);
-    method public androidx.navigation.NavOptions.Builder setPopEnterAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setPopExitAnim(@AnimRes @AnimatorRes int);
-    method public androidx.navigation.NavOptions.Builder setPopUpTo(@IdRes int, boolean);
-  }
-
-  public abstract class NavType<T> {
-    method public static androidx.navigation.NavType<?> fromArgType(String?, String?);
-    method public abstract T? get(android.os.Bundle, String);
-    method public abstract String getName();
-    method public boolean isNullableAllowed();
-    method public abstract T parseValue(String);
-    method public abstract void put(android.os.Bundle, String, T?);
-    field public static final androidx.navigation.NavType<boolean[]!> BoolArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Boolean!> BoolType;
-    field public static final androidx.navigation.NavType<float[]!> FloatArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Float!> FloatType;
-    field public static final androidx.navigation.NavType<int[]!> IntArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Integer!> IntType;
-    field public static final androidx.navigation.NavType<long[]!> LongArrayType;
-    field public static final androidx.navigation.NavType<java.lang.Long!> LongType;
-    field public static final androidx.navigation.NavType<java.lang.Integer!> ReferenceType;
-    field public static final androidx.navigation.NavType<java.lang.String![]!> StringArrayType;
-    field public static final androidx.navigation.NavType<java.lang.String!> StringType;
-  }
-
-  public static final class NavType.EnumType<D extends java.lang.Enum> extends androidx.navigation.NavType.SerializableType<D> {
-    ctor public NavType.EnumType(Class<D!>);
-  }
-
-  public static final class NavType.ParcelableArrayType<D extends android.os.Parcelable> extends androidx.navigation.NavType<D[]> {
-    ctor public NavType.ParcelableArrayType(Class<D!>);
-    method public D![]? get(android.os.Bundle, String);
-    method public String getName();
-    method public D![] parseValue(String);
-    method public void put(android.os.Bundle, String, D![]?);
-  }
-
-  public static final class NavType.ParcelableType<D> extends androidx.navigation.NavType<D> {
-    ctor public NavType.ParcelableType(Class<D!>);
-    method public D? get(android.os.Bundle, String);
-    method public String getName();
-    method public D parseValue(String);
-    method public void put(android.os.Bundle, String, D?);
-  }
-
-  public static final class NavType.SerializableArrayType<D extends java.io.Serializable> extends androidx.navigation.NavType<D[]> {
-    ctor public NavType.SerializableArrayType(Class<D!>);
-    method public D![]? get(android.os.Bundle, String);
-    method public String getName();
-    method public D![] parseValue(String);
-    method public void put(android.os.Bundle, String, D![]?);
-  }
-
-  public static class NavType.SerializableType<D extends java.io.Serializable> extends androidx.navigation.NavType<D> {
-    ctor public NavType.SerializableType(Class<D!>);
-    method public D? get(android.os.Bundle, String);
-    method public String getName();
-    method public D parseValue(String);
-    method public void put(android.os.Bundle, String, D?);
-  }
-
-  public abstract class Navigator<D extends androidx.navigation.NavDestination> {
-    ctor public Navigator();
-    method public abstract D createDestination();
-    method public abstract androidx.navigation.NavDestination? navigate(D, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void onRestoreState(android.os.Bundle);
-    method public android.os.Bundle? onSaveState();
-    method public abstract boolean popBackStack();
-  }
-
-  public static interface Navigator.Extras {
-  }
-
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface Navigator.Name {
-    method public abstract String value();
-  }
-
-  public class NavigatorProvider {
-    ctor public NavigatorProvider();
-    method public final androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>? addNavigator(androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>);
-    method @CallSuper public androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>? addNavigator(String, androidx.navigation.Navigator<? extends androidx.navigation.NavDestination>);
-    method public final <T extends androidx.navigation.Navigator<?>> T getNavigator(Class<T!>);
-    method @CallSuper public <T extends androidx.navigation.Navigator<?>> T getNavigator(String);
-  }
-
-}
-
diff --git a/navigation/navigation-common/api/2.3.0-alpha07.txt b/navigation/navigation-common/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-common/api/2.3.0-alpha07.txt
copy to navigation/navigation-common/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-fragment/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha07.txt
rename to navigation/navigation-dynamic-features-fragment/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index 0034957..0000000
--- a/navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.dynamicfeatures.fragment {
-
-  @androidx.navigation.Navigator.Name("fragment") public final class DynamicFragmentNavigator extends androidx.navigation.fragment.FragmentNavigator {
-    ctor public DynamicFragmentNavigator(android.content.Context context, androidx.fragment.app.FragmentManager manager, int containerId, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigator.Destination createDestination();
-  }
-
-  public static final class DynamicFragmentNavigator.Destination extends androidx.navigation.fragment.FragmentNavigator.Destination {
-    ctor public DynamicFragmentNavigator.Destination(androidx.navigation.NavigatorProvider navigatorProvider);
-    ctor public DynamicFragmentNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.fragment.FragmentNavigator.Destination> fragmentNavigator);
-    method public String? getModuleName();
-    method public void setModuleName(String? p);
-    property public final String? moduleName;
-  }
-
-  public final class DynamicFragmentNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.fragment.FragmentNavigator.Destination> {
-    ctor public DynamicFragmentNavigatorDestinationBuilder(androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigator navigator, @IdRes int id, String fragmentClassName);
-    method public androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigator.Destination build();
-    method public String? getModuleName();
-    method public void setModuleName(String? p);
-    property public final String? moduleName;
-  }
-
-  public final class DynamicFragmentNavigatorDestinationBuilderKt {
-    method public static inline void fragment(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, String fragmentClassName, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigatorDestinationBuilder,kotlin.Unit> builder);
-    method public static inline <reified F> void fragment(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id);
-    method public static inline <reified F> void fragment(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigatorDestinationBuilder,? extends kotlin.Unit> builder);
-  }
-
-  public class DynamicNavHostFragment extends androidx.navigation.fragment.NavHostFragment {
-    ctor public DynamicNavHostFragment();
-    method protected com.google.android.play.core.splitinstall.SplitInstallManager createSplitInstallManager();
-  }
-
-}
-
-package androidx.navigation.dynamicfeatures.fragment.ui {
-
-  public abstract class AbstractProgressFragment extends androidx.fragment.app.Fragment {
-    ctor public AbstractProgressFragment();
-    ctor public AbstractProgressFragment(int contentLayoutId);
-    method protected abstract void onCancelled();
-    method protected abstract void onFailed(int errorCode);
-    method protected void onInstalled();
-    method protected abstract void onProgress(int status, long bytesDownloaded, long bytesTotal);
-  }
-
-  public final class DefaultProgressFragment extends androidx.navigation.dynamicfeatures.fragment.ui.AbstractProgressFragment {
-    ctor public DefaultProgressFragment();
-    method protected void onCancelled();
-    method protected void onFailed(int errorCode);
-    method protected void onProgress(int status, long bytesDownloaded, long bytesTotal);
-  }
-
-}
-
diff --git a/navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha07.txt
copy to navigation/navigation-dynamic-features-fragment/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-fragment/api/res-2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-fragment/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-dynamic-features-fragment/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-dynamic-features-fragment/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index 0034957..0000000
--- a/navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.dynamicfeatures.fragment {
-
-  @androidx.navigation.Navigator.Name("fragment") public final class DynamicFragmentNavigator extends androidx.navigation.fragment.FragmentNavigator {
-    ctor public DynamicFragmentNavigator(android.content.Context context, androidx.fragment.app.FragmentManager manager, int containerId, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigator.Destination createDestination();
-  }
-
-  public static final class DynamicFragmentNavigator.Destination extends androidx.navigation.fragment.FragmentNavigator.Destination {
-    ctor public DynamicFragmentNavigator.Destination(androidx.navigation.NavigatorProvider navigatorProvider);
-    ctor public DynamicFragmentNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.fragment.FragmentNavigator.Destination> fragmentNavigator);
-    method public String? getModuleName();
-    method public void setModuleName(String? p);
-    property public final String? moduleName;
-  }
-
-  public final class DynamicFragmentNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.fragment.FragmentNavigator.Destination> {
-    ctor public DynamicFragmentNavigatorDestinationBuilder(androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigator navigator, @IdRes int id, String fragmentClassName);
-    method public androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigator.Destination build();
-    method public String? getModuleName();
-    method public void setModuleName(String? p);
-    property public final String? moduleName;
-  }
-
-  public final class DynamicFragmentNavigatorDestinationBuilderKt {
-    method public static inline void fragment(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, String fragmentClassName, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigatorDestinationBuilder,kotlin.Unit> builder);
-    method public static inline <reified F> void fragment(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id);
-    method public static inline <reified F> void fragment(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.fragment.DynamicFragmentNavigatorDestinationBuilder,? extends kotlin.Unit> builder);
-  }
-
-  public class DynamicNavHostFragment extends androidx.navigation.fragment.NavHostFragment {
-    ctor public DynamicNavHostFragment();
-    method protected com.google.android.play.core.splitinstall.SplitInstallManager createSplitInstallManager();
-  }
-
-}
-
-package androidx.navigation.dynamicfeatures.fragment.ui {
-
-  public abstract class AbstractProgressFragment extends androidx.fragment.app.Fragment {
-    ctor public AbstractProgressFragment();
-    ctor public AbstractProgressFragment(int contentLayoutId);
-    method protected abstract void onCancelled();
-    method protected abstract void onFailed(int errorCode);
-    method protected void onInstalled();
-    method protected abstract void onProgress(int status, long bytesDownloaded, long bytesTotal);
-  }
-
-  public final class DefaultProgressFragment extends androidx.navigation.dynamicfeatures.fragment.ui.AbstractProgressFragment {
-    ctor public DefaultProgressFragment();
-    method protected void onCancelled();
-    method protected void onFailed(int errorCode);
-    method protected void onProgress(int status, long bytesDownloaded, long bytesTotal);
-  }
-
-}
-
diff --git a/navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-dynamic-features-fragment/api/2.3.0-alpha07.txt
copy to navigation/navigation-dynamic-features-fragment/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-runtime/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha07.txt
rename to navigation/navigation-dynamic-features-runtime/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index cfc354d..0000000
--- a/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.dynamicfeatures {
-
-  @androidx.navigation.Navigator.Name("activity") public final class DynamicActivityNavigator extends androidx.navigation.ActivityNavigator {
-    ctor public DynamicActivityNavigator(android.content.Context context, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.DynamicActivityNavigator.Destination createDestination();
-  }
-
-  public static final class DynamicActivityNavigator.Destination extends androidx.navigation.ActivityNavigator.Destination {
-    ctor public DynamicActivityNavigator.Destination(androidx.navigation.NavigatorProvider navigatorProvider);
-    ctor public DynamicActivityNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.ActivityNavigator.Destination> activityNavigator);
-    method public String? getModuleName();
-    method public void setModuleName(String? p);
-    property public final String? moduleName;
-  }
-
-  public final class DynamicActivityNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.ActivityNavigator.Destination> {
-    ctor public DynamicActivityNavigatorDestinationBuilder(androidx.navigation.dynamicfeatures.DynamicActivityNavigator activityNavigator, @IdRes int id);
-    method public androidx.navigation.dynamicfeatures.DynamicActivityNavigator.Destination build();
-    method public String? getAction();
-    method public String? getActivityClassName();
-    method public android.net.Uri? getData();
-    method public String? getDataPattern();
-    method public String? getModuleName();
-    method public String? getTargetPackage();
-    method public void setAction(String? p);
-    method public void setActivityClassName(String? p);
-    method public void setData(android.net.Uri? p);
-    method public void setDataPattern(String? p);
-    method public void setModuleName(String? p);
-    method public void setTargetPackage(String? p);
-    property public final String? action;
-    property public final String? activityClassName;
-    property public final android.net.Uri? data;
-    property public final String? dataPattern;
-    property public final String? moduleName;
-    property public final String? targetPackage;
-  }
-
-  public final class DynamicActivityNavigatorDestinationBuilderKt {
-    method public static inline void activity(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicActivityNavigatorDestinationBuilder,kotlin.Unit> builder);
-  }
-
-  public final class DynamicExtras implements androidx.navigation.Navigator.Extras {
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, androidx.navigation.Navigator.Extras? destinationExtras);
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
-    ctor public DynamicExtras();
-    method public androidx.navigation.Navigator.Extras? getDestinationExtras();
-    method public androidx.navigation.dynamicfeatures.DynamicInstallMonitor? getInstallMonitor();
-  }
-
-  @androidx.navigation.Navigator.Name("navigation") public final class DynamicGraphNavigator extends androidx.navigation.NavGraphNavigator {
-    ctor public DynamicGraphNavigator(androidx.navigation.NavigatorProvider navigatorProvider, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.DynamicGraphNavigator.DynamicNavGraph createDestination();
-    method public void installDefaultProgressDestination(kotlin.jvm.functions.Function0<? extends androidx.navigation.NavDestination> progressDestinationSupplier);
-  }
-
-  public static final class DynamicGraphNavigator.DynamicNavGraph extends androidx.navigation.NavGraph {
-    ctor public DynamicGraphNavigator.DynamicNavGraph(internal androidx.navigation.dynamicfeatures.DynamicGraphNavigator navGraphNavigator, internal androidx.navigation.NavigatorProvider navigatorProvider);
-    method public String? getModuleName();
-    method public int getProgressDestination();
-    method public void setModuleName(String? p);
-    method public void setProgressDestination(int p);
-    property public final String? moduleName;
-    property public final int progressDestination;
-  }
-
-  @androidx.navigation.Navigator.Name("include-dynamic") public final class DynamicIncludeGraphNavigator extends androidx.navigation.Navigator<androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph> {
-    ctor public DynamicIncludeGraphNavigator(android.content.Context context, androidx.navigation.NavigatorProvider navigatorProvider, androidx.navigation.NavInflater navInflater, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph destination, android.os.Bundle? args, androidx.navigation.NavOptions? navOptions, androidx.navigation.Navigator.Extras? navigatorExtras);
-    method public boolean popBackStack();
-  }
-
-  public static final class DynamicIncludeGraphNavigator.DynamicIncludeNavGraph extends androidx.navigation.NavDestination {
-    method public String? getGraphPackage();
-    method public String? getGraphResourceName();
-    method public String? getModuleName();
-    method public void setGraphPackage(String? p);
-    method public void setGraphResourceName(String? p);
-    method public void setModuleName(String? p);
-    property public final String? graphPackage;
-    property public final String? graphResourceName;
-    property public final String? moduleName;
-  }
-
-  public final class DynamicIncludeNavGraphBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph> {
-    ctor public DynamicIncludeNavGraphBuilder(androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator dynamicIncludeGraphNavigator, @IdRes int id, String moduleName, String graphResourceName);
-    method public androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph build();
-    method public String? getGraphPackage();
-    method public void setGraphPackage(String? p);
-    property public final String? graphPackage;
-  }
-
-  public final class DynamicIncludeNavGraphBuilderKt {
-    method public static inline void includeDynamic(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, String moduleName, String graphResourceName);
-    method public static inline void includeDynamic(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, String moduleName, String graphResourceName, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicIncludeNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public class DynamicInstallManager {
-    ctor public DynamicInstallManager(android.content.Context context, com.google.android.play.core.splitinstall.SplitInstallManager splitInstallManager);
-  }
-
-  public final class DynamicInstallMonitor {
-    ctor public DynamicInstallMonitor();
-    method public void cancelInstall();
-    method public Exception? getException();
-    method public int getSessionId();
-    method public androidx.lifecycle.LiveData<com.google.android.play.core.splitinstall.SplitInstallSessionState> getStatus();
-    method public boolean isInstallRequired();
-    property public final Exception? exception;
-    property public final boolean isInstallRequired;
-    property public final int sessionId;
-    property public final androidx.lifecycle.LiveData<com.google.android.play.core.splitinstall.SplitInstallSessionState> status;
-  }
-
-  public final class DynamicNavGraphBuilder extends androidx.navigation.NavGraphBuilder {
-    ctor public DynamicNavGraphBuilder(androidx.navigation.NavigatorProvider provider, @IdRes int id, @IdRes int startDestination);
-    method public String? getModuleName();
-    method public int getProgressDestination();
-    method public void setModuleName(String? p);
-    method public void setProgressDestination(int p);
-    property public final String? moduleName;
-    property public final int progressDestination;
-  }
-
-  public final class DynamicNavGraphBuilderKt {
-    method public static inline androidx.navigation.NavGraph navigation(androidx.navigation.NavigatorProvider, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-    method public static inline void navigation(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavControllerKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavController, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavHostKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavHost, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-}
-
diff --git a/navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha07.txt
copy to navigation/navigation-dynamic-features-runtime/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-runtime/api/res-2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-runtime/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-dynamic-features-runtime/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-dynamic-features-runtime/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index cfc354d..0000000
--- a/navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,141 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.dynamicfeatures {
-
-  @androidx.navigation.Navigator.Name("activity") public final class DynamicActivityNavigator extends androidx.navigation.ActivityNavigator {
-    ctor public DynamicActivityNavigator(android.content.Context context, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.DynamicActivityNavigator.Destination createDestination();
-  }
-
-  public static final class DynamicActivityNavigator.Destination extends androidx.navigation.ActivityNavigator.Destination {
-    ctor public DynamicActivityNavigator.Destination(androidx.navigation.NavigatorProvider navigatorProvider);
-    ctor public DynamicActivityNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.ActivityNavigator.Destination> activityNavigator);
-    method public String? getModuleName();
-    method public void setModuleName(String? p);
-    property public final String? moduleName;
-  }
-
-  public final class DynamicActivityNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.ActivityNavigator.Destination> {
-    ctor public DynamicActivityNavigatorDestinationBuilder(androidx.navigation.dynamicfeatures.DynamicActivityNavigator activityNavigator, @IdRes int id);
-    method public androidx.navigation.dynamicfeatures.DynamicActivityNavigator.Destination build();
-    method public String? getAction();
-    method public String? getActivityClassName();
-    method public android.net.Uri? getData();
-    method public String? getDataPattern();
-    method public String? getModuleName();
-    method public String? getTargetPackage();
-    method public void setAction(String? p);
-    method public void setActivityClassName(String? p);
-    method public void setData(android.net.Uri? p);
-    method public void setDataPattern(String? p);
-    method public void setModuleName(String? p);
-    method public void setTargetPackage(String? p);
-    property public final String? action;
-    property public final String? activityClassName;
-    property public final android.net.Uri? data;
-    property public final String? dataPattern;
-    property public final String? moduleName;
-    property public final String? targetPackage;
-  }
-
-  public final class DynamicActivityNavigatorDestinationBuilderKt {
-    method public static inline void activity(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicActivityNavigatorDestinationBuilder,kotlin.Unit> builder);
-  }
-
-  public final class DynamicExtras implements androidx.navigation.Navigator.Extras {
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor, androidx.navigation.Navigator.Extras? destinationExtras);
-    ctor public DynamicExtras(androidx.navigation.dynamicfeatures.DynamicInstallMonitor? installMonitor);
-    ctor public DynamicExtras();
-    method public androidx.navigation.Navigator.Extras? getDestinationExtras();
-    method public androidx.navigation.dynamicfeatures.DynamicInstallMonitor? getInstallMonitor();
-  }
-
-  @androidx.navigation.Navigator.Name("navigation") public final class DynamicGraphNavigator extends androidx.navigation.NavGraphNavigator {
-    ctor public DynamicGraphNavigator(androidx.navigation.NavigatorProvider navigatorProvider, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.DynamicGraphNavigator.DynamicNavGraph createDestination();
-    method public void installDefaultProgressDestination(kotlin.jvm.functions.Function0<? extends androidx.navigation.NavDestination> progressDestinationSupplier);
-  }
-
-  public static final class DynamicGraphNavigator.DynamicNavGraph extends androidx.navigation.NavGraph {
-    ctor public DynamicGraphNavigator.DynamicNavGraph(internal androidx.navigation.dynamicfeatures.DynamicGraphNavigator navGraphNavigator, internal androidx.navigation.NavigatorProvider navigatorProvider);
-    method public String? getModuleName();
-    method public int getProgressDestination();
-    method public void setModuleName(String? p);
-    method public void setProgressDestination(int p);
-    property public final String? moduleName;
-    property public final int progressDestination;
-  }
-
-  @androidx.navigation.Navigator.Name("include-dynamic") public final class DynamicIncludeGraphNavigator extends androidx.navigation.Navigator<androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph> {
-    ctor public DynamicIncludeGraphNavigator(android.content.Context context, androidx.navigation.NavigatorProvider navigatorProvider, androidx.navigation.NavInflater navInflater, androidx.navigation.dynamicfeatures.DynamicInstallManager installManager);
-    method public androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph destination, android.os.Bundle? args, androidx.navigation.NavOptions? navOptions, androidx.navigation.Navigator.Extras? navigatorExtras);
-    method public boolean popBackStack();
-  }
-
-  public static final class DynamicIncludeGraphNavigator.DynamicIncludeNavGraph extends androidx.navigation.NavDestination {
-    method public String? getGraphPackage();
-    method public String? getGraphResourceName();
-    method public String? getModuleName();
-    method public void setGraphPackage(String? p);
-    method public void setGraphResourceName(String? p);
-    method public void setModuleName(String? p);
-    property public final String? graphPackage;
-    property public final String? graphResourceName;
-    property public final String? moduleName;
-  }
-
-  public final class DynamicIncludeNavGraphBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph> {
-    ctor public DynamicIncludeNavGraphBuilder(androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator dynamicIncludeGraphNavigator, @IdRes int id, String moduleName, String graphResourceName);
-    method public androidx.navigation.dynamicfeatures.DynamicIncludeGraphNavigator.DynamicIncludeNavGraph build();
-    method public String? getGraphPackage();
-    method public void setGraphPackage(String? p);
-    property public final String? graphPackage;
-  }
-
-  public final class DynamicIncludeNavGraphBuilderKt {
-    method public static inline void includeDynamic(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, String moduleName, String graphResourceName);
-    method public static inline void includeDynamic(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, String moduleName, String graphResourceName, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicIncludeNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public class DynamicInstallManager {
-    ctor public DynamicInstallManager(android.content.Context context, com.google.android.play.core.splitinstall.SplitInstallManager splitInstallManager);
-  }
-
-  public final class DynamicInstallMonitor {
-    ctor public DynamicInstallMonitor();
-    method public void cancelInstall();
-    method public Exception? getException();
-    method public int getSessionId();
-    method public androidx.lifecycle.LiveData<com.google.android.play.core.splitinstall.SplitInstallSessionState> getStatus();
-    method public boolean isInstallRequired();
-    property public final Exception? exception;
-    property public final boolean isInstallRequired;
-    property public final int sessionId;
-    property public final androidx.lifecycle.LiveData<com.google.android.play.core.splitinstall.SplitInstallSessionState> status;
-  }
-
-  public final class DynamicNavGraphBuilder extends androidx.navigation.NavGraphBuilder {
-    ctor public DynamicNavGraphBuilder(androidx.navigation.NavigatorProvider provider, @IdRes int id, @IdRes int startDestination);
-    method public String? getModuleName();
-    method public int getProgressDestination();
-    method public void setModuleName(String? p);
-    method public void setProgressDestination(int p);
-    property public final String? moduleName;
-    property public final int progressDestination;
-  }
-
-  public final class DynamicNavGraphBuilderKt {
-    method public static inline androidx.navigation.NavGraph navigation(androidx.navigation.NavigatorProvider, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-    method public static inline void navigation(androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder, @IdRes int id, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavControllerKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavController, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavHostKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavHost, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.dynamicfeatures.DynamicNavGraphBuilder,kotlin.Unit> builder);
-  }
-
-}
-
diff --git a/navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha07.txt b/navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-dynamic-features-runtime/api/2.3.0-alpha07.txt
copy to navigation/navigation-dynamic-features-runtime/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment-ktx/api/2.3.0-alpha07.ignore b/navigation/navigation-fragment-ktx/api/2.3.0-beta01.ignore
similarity index 100%
rename from navigation/navigation-fragment-ktx/api/2.3.0-alpha07.ignore
rename to navigation/navigation-fragment-ktx/api/2.3.0-beta01.ignore
diff --git a/navigation/navigation-fragment-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-fragment-ktx/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-fragment-ktx/api/2.3.0-alpha07.txt
rename to navigation/navigation-fragment-ktx/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment-ktx/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-fragment-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index 9e92831..0000000
--- a/navigation/navigation-fragment-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  public final class NavGraphViewModelLazyKt {
-    method @MainThread public static inline <reified VM> kotlin.Lazy<? extends VM>! navGraphViewModels(androidx.fragment.app.Fragment, @IdRes int navGraphId, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-}
-
-package androidx.navigation.fragment {
-
-  public final class DialogFragmentNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.fragment.DialogFragmentNavigator.Destination> {
-    ctor public DialogFragmentNavigatorDestinationBuilder(androidx.navigation.fragment.DialogFragmentNavigator navigator, @IdRes int id, kotlin.reflect.KClass<? extends androidx.fragment.app.DialogFragment> fragmentClass);
-    method public androidx.navigation.fragment.DialogFragmentNavigator.Destination build();
-  }
-
-  public final class DialogFragmentNavigatorDestinationBuilderKt {
-    method public static inline <reified F> void dialog(androidx.navigation.NavGraphBuilder, @IdRes int id);
-    method public static inline <reified F> void dialog(androidx.navigation.NavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.fragment.DialogFragmentNavigatorDestinationBuilder,? extends kotlin.Unit> builder);
-  }
-
-  public final class FragmentKt {
-    method public static androidx.navigation.NavController findNavController(androidx.fragment.app.Fragment);
-  }
-
-  public final class FragmentNavArgsLazyKt {
-    method @MainThread public static inline <reified Args> androidx.navigation.NavArgsLazy<Args>! navArgs(androidx.fragment.app.Fragment);
-  }
-
-  public final class FragmentNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.fragment.FragmentNavigator.Destination> {
-    ctor public FragmentNavigatorDestinationBuilder(androidx.navigation.fragment.FragmentNavigator navigator, @IdRes int id, kotlin.reflect.KClass<? extends androidx.fragment.app.Fragment> fragmentClass);
-    method public androidx.navigation.fragment.FragmentNavigator.Destination build();
-  }
-
-  public final class FragmentNavigatorDestinationBuilderKt {
-    method public static inline <reified F> void fragment(androidx.navigation.NavGraphBuilder, @IdRes int id);
-    method public static inline <reified F> void fragment(androidx.navigation.NavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.fragment.FragmentNavigatorDestinationBuilder,? extends kotlin.Unit> builder);
-  }
-
-  public final class FragmentNavigatorExtrasKt {
-    method public static androidx.navigation.fragment.FragmentNavigator.Extras FragmentNavigatorExtras(kotlin.Pair<? extends android.view.View,java.lang.String>... sharedElements);
-  }
-
-}
-
diff --git a/navigation/navigation-fragment-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-fragment-ktx/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-fragment-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-fragment-ktx/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment-ktx/api/res-2.3.0-alpha07.txt b/navigation/navigation-fragment-ktx/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-fragment-ktx/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-fragment-ktx/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment-ktx/api/restricted_2.3.0-alpha07.ignore b/navigation/navigation-fragment-ktx/api/restricted_2.3.0-alpha07.ignore
deleted file mode 100644
index 41c0d71..0000000
--- a/navigation/navigation-fragment-ktx/api/restricted_2.3.0-alpha07.ignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Baseline format: 1.0
-ChangedType: androidx.navigation.NavGraphViewModelLazyKt#navGraphViewModels(androidx.fragment.app.Fragment, int, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>):
-    Method androidx.navigation.NavGraphViewModelLazyKt.navGraphViewModels has changed return type from kotlin.Lazy<VM> to kotlin.Lazy<? extends VM>
-
-
-InvalidNullConversion: androidx.navigation.NavGraphViewModelLazyKt#navGraphViewModels(androidx.fragment.app.Fragment, int, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>):
-    Attempted to remove @NonNull annotation from method androidx.navigation.NavGraphViewModelLazyKt.navGraphViewModels(androidx.fragment.app.Fragment,int,kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>)
-InvalidNullConversion: androidx.navigation.fragment.FragmentNavArgsLazyKt#navArgs(androidx.fragment.app.Fragment):
-    Attempted to remove @NonNull annotation from method androidx.navigation.fragment.FragmentNavArgsLazyKt.navArgs(androidx.fragment.app.Fragment)
diff --git a/navigation/navigation-fragment-ktx/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-fragment-ktx/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index 9e92831..0000000
--- a/navigation/navigation-fragment-ktx/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  public final class NavGraphViewModelLazyKt {
-    method @MainThread public static inline <reified VM> kotlin.Lazy<? extends VM>! navGraphViewModels(androidx.fragment.app.Fragment, @IdRes int navGraphId, kotlin.jvm.functions.Function0<? extends androidx.lifecycle.ViewModelProvider.Factory>? factoryProducer = null);
-  }
-
-}
-
-package androidx.navigation.fragment {
-
-  public final class DialogFragmentNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.fragment.DialogFragmentNavigator.Destination> {
-    ctor public DialogFragmentNavigatorDestinationBuilder(androidx.navigation.fragment.DialogFragmentNavigator navigator, @IdRes int id, kotlin.reflect.KClass<? extends androidx.fragment.app.DialogFragment> fragmentClass);
-    method public androidx.navigation.fragment.DialogFragmentNavigator.Destination build();
-  }
-
-  public final class DialogFragmentNavigatorDestinationBuilderKt {
-    method public static inline <reified F> void dialog(androidx.navigation.NavGraphBuilder, @IdRes int id);
-    method public static inline <reified F> void dialog(androidx.navigation.NavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.fragment.DialogFragmentNavigatorDestinationBuilder,? extends kotlin.Unit> builder);
-  }
-
-  public final class FragmentKt {
-    method public static androidx.navigation.NavController findNavController(androidx.fragment.app.Fragment);
-  }
-
-  public final class FragmentNavArgsLazyKt {
-    method @MainThread public static inline <reified Args> androidx.navigation.NavArgsLazy<Args>! navArgs(androidx.fragment.app.Fragment);
-  }
-
-  public final class FragmentNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.fragment.FragmentNavigator.Destination> {
-    ctor public FragmentNavigatorDestinationBuilder(androidx.navigation.fragment.FragmentNavigator navigator, @IdRes int id, kotlin.reflect.KClass<? extends androidx.fragment.app.Fragment> fragmentClass);
-    method public androidx.navigation.fragment.FragmentNavigator.Destination build();
-  }
-
-  public final class FragmentNavigatorDestinationBuilderKt {
-    method public static inline <reified F> void fragment(androidx.navigation.NavGraphBuilder, @IdRes int id);
-    method public static inline <reified F> void fragment(androidx.navigation.NavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.fragment.FragmentNavigatorDestinationBuilder,? extends kotlin.Unit> builder);
-  }
-
-  public final class FragmentNavigatorExtrasKt {
-    method public static androidx.navigation.fragment.FragmentNavigator.Extras FragmentNavigatorExtras(kotlin.Pair<? extends android.view.View,java.lang.String>... sharedElements);
-  }
-
-}
-
diff --git a/navigation/navigation-fragment-ktx/api/2.3.0-alpha07.ignore b/navigation/navigation-fragment-ktx/api/restricted_2.3.0-beta01.ignore
similarity index 100%
copy from navigation/navigation-fragment-ktx/api/2.3.0-alpha07.ignore
copy to navigation/navigation-fragment-ktx/api/restricted_2.3.0-beta01.ignore
diff --git a/navigation/navigation-fragment-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-fragment-ktx/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-fragment-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-fragment-ktx/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment/api/2.3.0-alpha07.txt b/navigation/navigation-fragment/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-fragment/api/2.3.0-alpha07.txt
rename to navigation/navigation-fragment/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-fragment/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index fa67952..0000000
--- a/navigation/navigation-fragment/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.fragment {
-
-  @androidx.navigation.Navigator.Name("dialog") public final class DialogFragmentNavigator extends androidx.navigation.Navigator<androidx.navigation.fragment.DialogFragmentNavigator.Destination> {
-    ctor public DialogFragmentNavigator(android.content.Context, androidx.fragment.app.FragmentManager);
-    method public androidx.navigation.fragment.DialogFragmentNavigator.Destination createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.fragment.DialogFragmentNavigator.Destination, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  @androidx.navigation.NavDestination.ClassType(DialogFragment.class) public static class DialogFragmentNavigator.Destination extends androidx.navigation.NavDestination implements androidx.navigation.FloatingWindow {
-    ctor public DialogFragmentNavigator.Destination(androidx.navigation.NavigatorProvider);
-    ctor public DialogFragmentNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.fragment.DialogFragmentNavigator.Destination>);
-    method public final String getClassName();
-    method public final androidx.navigation.fragment.DialogFragmentNavigator.Destination setClassName(String);
-  }
-
-  @androidx.navigation.Navigator.Name("fragment") public class FragmentNavigator extends androidx.navigation.Navigator<androidx.navigation.fragment.FragmentNavigator.Destination> {
-    ctor public FragmentNavigator(android.content.Context, androidx.fragment.app.FragmentManager, int);
-    method public androidx.navigation.fragment.FragmentNavigator.Destination createDestination();
-    method @Deprecated public androidx.fragment.app.Fragment instantiateFragment(android.content.Context, androidx.fragment.app.FragmentManager, String, android.os.Bundle?);
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.fragment.FragmentNavigator.Destination, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  @androidx.navigation.NavDestination.ClassType(Fragment.class) public static class FragmentNavigator.Destination extends androidx.navigation.NavDestination {
-    ctor public FragmentNavigator.Destination(androidx.navigation.NavigatorProvider);
-    ctor public FragmentNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.fragment.FragmentNavigator.Destination>);
-    method public final String getClassName();
-    method public final androidx.navigation.fragment.FragmentNavigator.Destination setClassName(String);
-  }
-
-  public static final class FragmentNavigator.Extras implements androidx.navigation.Navigator.Extras {
-    method public java.util.Map<android.view.View!,java.lang.String!> getSharedElements();
-  }
-
-  public static final class FragmentNavigator.Extras.Builder {
-    ctor public FragmentNavigator.Extras.Builder();
-    method public androidx.navigation.fragment.FragmentNavigator.Extras.Builder addSharedElement(android.view.View, String);
-    method public androidx.navigation.fragment.FragmentNavigator.Extras.Builder addSharedElements(java.util.Map<android.view.View!,java.lang.String!>);
-    method public androidx.navigation.fragment.FragmentNavigator.Extras build();
-  }
-
-  public class NavHostFragment extends androidx.fragment.app.Fragment implements androidx.navigation.NavHost {
-    ctor public NavHostFragment();
-    method public static androidx.navigation.fragment.NavHostFragment create(@NavigationRes int);
-    method public static androidx.navigation.fragment.NavHostFragment create(@NavigationRes int, android.os.Bundle?);
-    method @Deprecated protected androidx.navigation.Navigator<? extends androidx.navigation.fragment.FragmentNavigator.Destination> createFragmentNavigator();
-    method public static androidx.navigation.NavController findNavController(androidx.fragment.app.Fragment);
-    method public final androidx.navigation.NavController getNavController();
-    method @CallSuper protected void onCreateNavController(androidx.navigation.NavController);
-  }
-
-}
-
diff --git a/navigation/navigation-fragment/api/2.3.0-alpha07.txt b/navigation/navigation-fragment/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-fragment/api/2.3.0-alpha07.txt
copy to navigation/navigation-fragment/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment/api/res-2.3.0-alpha07.txt b/navigation/navigation-fragment/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-fragment/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-fragment/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-fragment/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-fragment/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index fa67952..0000000
--- a/navigation/navigation-fragment/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.fragment {
-
-  @androidx.navigation.Navigator.Name("dialog") public final class DialogFragmentNavigator extends androidx.navigation.Navigator<androidx.navigation.fragment.DialogFragmentNavigator.Destination> {
-    ctor public DialogFragmentNavigator(android.content.Context, androidx.fragment.app.FragmentManager);
-    method public androidx.navigation.fragment.DialogFragmentNavigator.Destination createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.fragment.DialogFragmentNavigator.Destination, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  @androidx.navigation.NavDestination.ClassType(DialogFragment.class) public static class DialogFragmentNavigator.Destination extends androidx.navigation.NavDestination implements androidx.navigation.FloatingWindow {
-    ctor public DialogFragmentNavigator.Destination(androidx.navigation.NavigatorProvider);
-    ctor public DialogFragmentNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.fragment.DialogFragmentNavigator.Destination>);
-    method public final String getClassName();
-    method public final androidx.navigation.fragment.DialogFragmentNavigator.Destination setClassName(String);
-  }
-
-  @androidx.navigation.Navigator.Name("fragment") public class FragmentNavigator extends androidx.navigation.Navigator<androidx.navigation.fragment.FragmentNavigator.Destination> {
-    ctor public FragmentNavigator(android.content.Context, androidx.fragment.app.FragmentManager, int);
-    method public androidx.navigation.fragment.FragmentNavigator.Destination createDestination();
-    method @Deprecated public androidx.fragment.app.Fragment instantiateFragment(android.content.Context, androidx.fragment.app.FragmentManager, String, android.os.Bundle?);
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.fragment.FragmentNavigator.Destination, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  @androidx.navigation.NavDestination.ClassType(Fragment.class) public static class FragmentNavigator.Destination extends androidx.navigation.NavDestination {
-    ctor public FragmentNavigator.Destination(androidx.navigation.NavigatorProvider);
-    ctor public FragmentNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.fragment.FragmentNavigator.Destination>);
-    method public final String getClassName();
-    method public final androidx.navigation.fragment.FragmentNavigator.Destination setClassName(String);
-  }
-
-  public static final class FragmentNavigator.Extras implements androidx.navigation.Navigator.Extras {
-    method public java.util.Map<android.view.View!,java.lang.String!> getSharedElements();
-  }
-
-  public static final class FragmentNavigator.Extras.Builder {
-    ctor public FragmentNavigator.Extras.Builder();
-    method public androidx.navigation.fragment.FragmentNavigator.Extras.Builder addSharedElement(android.view.View, String);
-    method public androidx.navigation.fragment.FragmentNavigator.Extras.Builder addSharedElements(java.util.Map<android.view.View!,java.lang.String!>);
-    method public androidx.navigation.fragment.FragmentNavigator.Extras build();
-  }
-
-  public class NavHostFragment extends androidx.fragment.app.Fragment implements androidx.navigation.NavHost {
-    ctor public NavHostFragment();
-    method public static androidx.navigation.fragment.NavHostFragment create(@NavigationRes int);
-    method public static androidx.navigation.fragment.NavHostFragment create(@NavigationRes int, android.os.Bundle?);
-    method @Deprecated protected androidx.navigation.Navigator<? extends androidx.navigation.fragment.FragmentNavigator.Destination> createFragmentNavigator();
-    method public static androidx.navigation.NavController findNavController(androidx.fragment.app.Fragment);
-    method public final androidx.navigation.NavController getNavController();
-    method @CallSuper protected void onCreateNavController(androidx.navigation.NavController);
-  }
-
-}
-
diff --git a/navigation/navigation-fragment/api/2.3.0-alpha07.txt b/navigation/navigation-fragment/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-fragment/api/2.3.0-alpha07.txt
copy to navigation/navigation-fragment/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime-ktx/api/2.3.0-alpha07.ignore b/navigation/navigation-runtime-ktx/api/2.3.0-beta01.ignore
similarity index 100%
rename from navigation/navigation-runtime-ktx/api/2.3.0-alpha07.ignore
rename to navigation/navigation-runtime-ktx/api/2.3.0-beta01.ignore
diff --git a/navigation/navigation-runtime-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-runtime-ktx/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-runtime-ktx/api/2.3.0-alpha07.txt
rename to navigation/navigation-runtime-ktx/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime-ktx/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-runtime-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index bedf2f5..0000000
--- a/navigation/navigation-runtime-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  public final class ActivityKt {
-    method public static androidx.navigation.NavController findNavController(android.app.Activity, @IdRes int viewId);
-  }
-
-  public final class ActivityNavArgsLazyKt {
-    method @MainThread public static inline <reified Args> androidx.navigation.NavArgsLazy<Args>! navArgs(android.app.Activity);
-  }
-
-  public final class ActivityNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.ActivityNavigator.Destination> {
-    ctor public ActivityNavigatorDestinationBuilder(androidx.navigation.ActivityNavigator navigator, @IdRes int id);
-    method public androidx.navigation.ActivityNavigator.Destination build();
-    method public String? getAction();
-    method public kotlin.reflect.KClass<? extends android.app.Activity>? getActivityClass();
-    method public android.net.Uri? getData();
-    method public String? getDataPattern();
-    method public String? getTargetPackage();
-    method public void setAction(String? p);
-    method public void setActivityClass(kotlin.reflect.KClass<? extends android.app.Activity>? p);
-    method public void setData(android.net.Uri? p);
-    method public void setDataPattern(String? p);
-    method public void setTargetPackage(String? p);
-    property public final String? action;
-    property public final kotlin.reflect.KClass<? extends android.app.Activity>? activityClass;
-    property public final android.net.Uri? data;
-    property public final String? dataPattern;
-    property public final String? targetPackage;
-  }
-
-  public final class ActivityNavigatorDestinationBuilderKt {
-    method public static inline void activity(androidx.navigation.NavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.ActivityNavigatorDestinationBuilder,kotlin.Unit> builder);
-  }
-
-  public final class ActivityNavigatorExtrasKt {
-    method public static androidx.navigation.ActivityNavigator.Extras ActivityNavigatorExtras(androidx.core.app.ActivityOptionsCompat? activityOptions = null, int flags = 0);
-  }
-
-  public final class NavControllerKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavController, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavHostKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavHost, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class ViewKt {
-    method public static androidx.navigation.NavController findNavController(android.view.View);
-  }
-
-}
-
diff --git a/navigation/navigation-runtime-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-runtime-ktx/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-runtime-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-runtime-ktx/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime-ktx/api/res-2.3.0-alpha07.txt b/navigation/navigation-runtime-ktx/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-runtime-ktx/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-runtime-ktx/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime-ktx/api/restricted_2.3.0-alpha07.ignore b/navigation/navigation-runtime-ktx/api/restricted_2.3.0-alpha07.ignore
deleted file mode 100644
index 1337f0e..0000000
--- a/navigation/navigation-runtime-ktx/api/restricted_2.3.0-alpha07.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-InvalidNullConversion: androidx.navigation.ActivityNavArgsLazyKt#navArgs(android.app.Activity):
-    Attempted to remove @NonNull annotation from method androidx.navigation.ActivityNavArgsLazyKt.navArgs(android.app.Activity)
diff --git a/navigation/navigation-runtime-ktx/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-runtime-ktx/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index bedf2f5..0000000
--- a/navigation/navigation-runtime-ktx/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  public final class ActivityKt {
-    method public static androidx.navigation.NavController findNavController(android.app.Activity, @IdRes int viewId);
-  }
-
-  public final class ActivityNavArgsLazyKt {
-    method @MainThread public static inline <reified Args> androidx.navigation.NavArgsLazy<Args>! navArgs(android.app.Activity);
-  }
-
-  public final class ActivityNavigatorDestinationBuilder extends androidx.navigation.NavDestinationBuilder<androidx.navigation.ActivityNavigator.Destination> {
-    ctor public ActivityNavigatorDestinationBuilder(androidx.navigation.ActivityNavigator navigator, @IdRes int id);
-    method public androidx.navigation.ActivityNavigator.Destination build();
-    method public String? getAction();
-    method public kotlin.reflect.KClass<? extends android.app.Activity>? getActivityClass();
-    method public android.net.Uri? getData();
-    method public String? getDataPattern();
-    method public String? getTargetPackage();
-    method public void setAction(String? p);
-    method public void setActivityClass(kotlin.reflect.KClass<? extends android.app.Activity>? p);
-    method public void setData(android.net.Uri? p);
-    method public void setDataPattern(String? p);
-    method public void setTargetPackage(String? p);
-    property public final String? action;
-    property public final kotlin.reflect.KClass<? extends android.app.Activity>? activityClass;
-    property public final android.net.Uri? data;
-    property public final String? dataPattern;
-    property public final String? targetPackage;
-  }
-
-  public final class ActivityNavigatorDestinationBuilderKt {
-    method public static inline void activity(androidx.navigation.NavGraphBuilder, @IdRes int id, kotlin.jvm.functions.Function1<? super androidx.navigation.ActivityNavigatorDestinationBuilder,kotlin.Unit> builder);
-  }
-
-  public final class ActivityNavigatorExtrasKt {
-    method public static androidx.navigation.ActivityNavigator.Extras ActivityNavigatorExtras(androidx.core.app.ActivityOptionsCompat? activityOptions = null, int flags = 0);
-  }
-
-  public final class NavControllerKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavController, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class NavHostKt {
-    method public static inline androidx.navigation.NavGraph createGraph(androidx.navigation.NavHost, @IdRes int id = 0, @IdRes int startDestination, kotlin.jvm.functions.Function1<? super androidx.navigation.NavGraphBuilder,kotlin.Unit> builder);
-  }
-
-  public final class ViewKt {
-    method public static androidx.navigation.NavController findNavController(android.view.View);
-  }
-
-}
-
diff --git a/navigation/navigation-runtime-ktx/api/2.3.0-alpha07.ignore b/navigation/navigation-runtime-ktx/api/restricted_2.3.0-beta01.ignore
similarity index 100%
copy from navigation/navigation-runtime-ktx/api/2.3.0-alpha07.ignore
copy to navigation/navigation-runtime-ktx/api/restricted_2.3.0-beta01.ignore
diff --git a/navigation/navigation-runtime-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-runtime-ktx/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-runtime-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-runtime-ktx/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime/api/2.3.0-alpha07.txt b/navigation/navigation-runtime/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-runtime/api/2.3.0-alpha07.txt
rename to navigation/navigation-runtime/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-runtime/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index c816b05..0000000
--- a/navigation/navigation-runtime/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,133 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  @androidx.navigation.Navigator.Name("activity") public class ActivityNavigator extends androidx.navigation.Navigator<androidx.navigation.ActivityNavigator.Destination> {
-    ctor public ActivityNavigator(android.content.Context);
-    method public static void applyPopAnimationsToPendingTransition(android.app.Activity);
-    method public androidx.navigation.ActivityNavigator.Destination createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.ActivityNavigator.Destination, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  @androidx.navigation.NavDestination.ClassType(Activity.class) public static class ActivityNavigator.Destination extends androidx.navigation.NavDestination {
-    ctor public ActivityNavigator.Destination(androidx.navigation.NavigatorProvider);
-    ctor public ActivityNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.ActivityNavigator.Destination>);
-    method public final String? getAction();
-    method public final android.content.ComponentName? getComponent();
-    method public final android.net.Uri? getData();
-    method public final String? getDataPattern();
-    method public final android.content.Intent? getIntent();
-    method public final String? getTargetPackage();
-    method public final androidx.navigation.ActivityNavigator.Destination setAction(String?);
-    method public final androidx.navigation.ActivityNavigator.Destination setComponentName(android.content.ComponentName?);
-    method public final androidx.navigation.ActivityNavigator.Destination setData(android.net.Uri?);
-    method public final androidx.navigation.ActivityNavigator.Destination setDataPattern(String?);
-    method public final androidx.navigation.ActivityNavigator.Destination setIntent(android.content.Intent?);
-    method public final androidx.navigation.ActivityNavigator.Destination setTargetPackage(String?);
-  }
-
-  public static final class ActivityNavigator.Extras implements androidx.navigation.Navigator.Extras {
-    method public androidx.core.app.ActivityOptionsCompat? getActivityOptions();
-    method public int getFlags();
-  }
-
-  public static final class ActivityNavigator.Extras.Builder {
-    ctor public ActivityNavigator.Extras.Builder();
-    method public androidx.navigation.ActivityNavigator.Extras.Builder addFlags(int);
-    method public androidx.navigation.ActivityNavigator.Extras build();
-    method public androidx.navigation.ActivityNavigator.Extras.Builder setActivityOptions(androidx.core.app.ActivityOptionsCompat);
-  }
-
-  public final class NavBackStackEntry implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    method public android.os.Bundle? getArguments();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method public androidx.navigation.NavDestination getDestination();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public androidx.lifecycle.SavedStateHandle getSavedStateHandle();
-    method public androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-  }
-
-  public class NavController {
-    ctor public NavController(android.content.Context);
-    method public void addOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener);
-    method public androidx.navigation.NavDeepLinkBuilder createDeepLink();
-    method public androidx.navigation.NavBackStackEntry getBackStackEntry(@IdRes int);
-    method public androidx.navigation.NavBackStackEntry? getCurrentBackStackEntry();
-    method public androidx.navigation.NavDestination? getCurrentDestination();
-    method public androidx.navigation.NavGraph getGraph();
-    method public androidx.navigation.NavInflater getNavInflater();
-    method public androidx.navigation.NavigatorProvider getNavigatorProvider();
-    method public androidx.navigation.NavBackStackEntry? getPreviousBackStackEntry();
-    method public androidx.lifecycle.ViewModelStoreOwner getViewModelStoreOwner(@IdRes int);
-    method public boolean handleDeepLink(android.content.Intent?);
-    method public void navigate(@IdRes int);
-    method public void navigate(@IdRes int, android.os.Bundle?);
-    method public void navigate(@IdRes int, android.os.Bundle?, androidx.navigation.NavOptions?);
-    method public void navigate(@IdRes int, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void navigate(android.net.Uri);
-    method public void navigate(android.net.Uri, androidx.navigation.NavOptions?);
-    method public void navigate(android.net.Uri, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void navigate(androidx.navigation.NavDeepLinkRequest);
-    method public void navigate(androidx.navigation.NavDeepLinkRequest, androidx.navigation.NavOptions?);
-    method public void navigate(androidx.navigation.NavDeepLinkRequest, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void navigate(androidx.navigation.NavDirections);
-    method public void navigate(androidx.navigation.NavDirections, androidx.navigation.NavOptions?);
-    method public void navigate(androidx.navigation.NavDirections, androidx.navigation.Navigator.Extras);
-    method public boolean navigateUp();
-    method public boolean popBackStack();
-    method public boolean popBackStack(@IdRes int, boolean);
-    method public void removeOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener);
-    method @CallSuper public void restoreState(android.os.Bundle?);
-    method @CallSuper public android.os.Bundle? saveState();
-    method @CallSuper public void setGraph(@NavigationRes int);
-    method @CallSuper public void setGraph(@NavigationRes int, android.os.Bundle?);
-    method @CallSuper public void setGraph(androidx.navigation.NavGraph);
-    method @CallSuper public void setGraph(androidx.navigation.NavGraph, android.os.Bundle?);
-    field public static final String KEY_DEEP_LINK_INTENT = "android-support-nav:controller:deepLinkIntent";
-  }
-
-  public static interface NavController.OnDestinationChangedListener {
-    method public void onDestinationChanged(androidx.navigation.NavController, androidx.navigation.NavDestination, android.os.Bundle?);
-  }
-
-  public final class NavDeepLinkBuilder {
-    ctor public NavDeepLinkBuilder(android.content.Context);
-    method public android.app.PendingIntent createPendingIntent();
-    method public androidx.core.app.TaskStackBuilder createTaskStackBuilder();
-    method public androidx.navigation.NavDeepLinkBuilder setArguments(android.os.Bundle?);
-    method public androidx.navigation.NavDeepLinkBuilder setComponentName(Class<? extends android.app.Activity>);
-    method public androidx.navigation.NavDeepLinkBuilder setComponentName(android.content.ComponentName);
-    method public androidx.navigation.NavDeepLinkBuilder setDestination(@IdRes int);
-    method public androidx.navigation.NavDeepLinkBuilder setGraph(@NavigationRes int);
-    method public androidx.navigation.NavDeepLinkBuilder setGraph(androidx.navigation.NavGraph);
-  }
-
-  public interface NavHost {
-    method public androidx.navigation.NavController getNavController();
-  }
-
-  public class NavHostController extends androidx.navigation.NavController {
-    ctor public NavHostController(android.content.Context);
-    method public final void enableOnBackPressed(boolean);
-    method public final void setLifecycleOwner(androidx.lifecycle.LifecycleOwner);
-    method public final void setOnBackPressedDispatcher(androidx.activity.OnBackPressedDispatcher);
-    method public final void setViewModelStore(androidx.lifecycle.ViewModelStore);
-  }
-
-  public final class NavInflater {
-    ctor public NavInflater(android.content.Context, androidx.navigation.NavigatorProvider);
-    method public androidx.navigation.NavGraph inflate(@NavigationRes int);
-  }
-
-  public final class Navigation {
-    method public static android.view.View.OnClickListener createNavigateOnClickListener(@IdRes int);
-    method public static android.view.View.OnClickListener createNavigateOnClickListener(@IdRes int, android.os.Bundle?);
-    method public static android.view.View.OnClickListener createNavigateOnClickListener(androidx.navigation.NavDirections);
-    method public static androidx.navigation.NavController findNavController(android.app.Activity, @IdRes int);
-    method public static androidx.navigation.NavController findNavController(android.view.View);
-    method public static void setViewNavController(android.view.View, androidx.navigation.NavController?);
-  }
-
-}
-
diff --git a/navigation/navigation-runtime/api/2.3.0-alpha07.txt b/navigation/navigation-runtime/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-runtime/api/2.3.0-alpha07.txt
copy to navigation/navigation-runtime/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime/api/res-2.3.0-alpha07.txt b/navigation/navigation-runtime/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-runtime/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-runtime/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-runtime/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-runtime/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index c816b05..0000000
--- a/navigation/navigation-runtime/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,133 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation {
-
-  @androidx.navigation.Navigator.Name("activity") public class ActivityNavigator extends androidx.navigation.Navigator<androidx.navigation.ActivityNavigator.Destination> {
-    ctor public ActivityNavigator(android.content.Context);
-    method public static void applyPopAnimationsToPendingTransition(android.app.Activity);
-    method public androidx.navigation.ActivityNavigator.Destination createDestination();
-    method public androidx.navigation.NavDestination? navigate(androidx.navigation.ActivityNavigator.Destination, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public boolean popBackStack();
-  }
-
-  @androidx.navigation.NavDestination.ClassType(Activity.class) public static class ActivityNavigator.Destination extends androidx.navigation.NavDestination {
-    ctor public ActivityNavigator.Destination(androidx.navigation.NavigatorProvider);
-    ctor public ActivityNavigator.Destination(androidx.navigation.Navigator<? extends androidx.navigation.ActivityNavigator.Destination>);
-    method public final String? getAction();
-    method public final android.content.ComponentName? getComponent();
-    method public final android.net.Uri? getData();
-    method public final String? getDataPattern();
-    method public final android.content.Intent? getIntent();
-    method public final String? getTargetPackage();
-    method public final androidx.navigation.ActivityNavigator.Destination setAction(String?);
-    method public final androidx.navigation.ActivityNavigator.Destination setComponentName(android.content.ComponentName?);
-    method public final androidx.navigation.ActivityNavigator.Destination setData(android.net.Uri?);
-    method public final androidx.navigation.ActivityNavigator.Destination setDataPattern(String?);
-    method public final androidx.navigation.ActivityNavigator.Destination setIntent(android.content.Intent?);
-    method public final androidx.navigation.ActivityNavigator.Destination setTargetPackage(String?);
-  }
-
-  public static final class ActivityNavigator.Extras implements androidx.navigation.Navigator.Extras {
-    method public androidx.core.app.ActivityOptionsCompat? getActivityOptions();
-    method public int getFlags();
-  }
-
-  public static final class ActivityNavigator.Extras.Builder {
-    ctor public ActivityNavigator.Extras.Builder();
-    method public androidx.navigation.ActivityNavigator.Extras.Builder addFlags(int);
-    method public androidx.navigation.ActivityNavigator.Extras build();
-    method public androidx.navigation.ActivityNavigator.Extras.Builder setActivityOptions(androidx.core.app.ActivityOptionsCompat);
-  }
-
-  public final class NavBackStackEntry implements androidx.lifecycle.HasDefaultViewModelProviderFactory androidx.lifecycle.LifecycleOwner androidx.savedstate.SavedStateRegistryOwner androidx.lifecycle.ViewModelStoreOwner {
-    method public android.os.Bundle? getArguments();
-    method public androidx.lifecycle.ViewModelProvider.Factory getDefaultViewModelProviderFactory();
-    method public androidx.navigation.NavDestination getDestination();
-    method public androidx.lifecycle.Lifecycle getLifecycle();
-    method public androidx.lifecycle.SavedStateHandle getSavedStateHandle();
-    method public androidx.savedstate.SavedStateRegistry getSavedStateRegistry();
-    method public androidx.lifecycle.ViewModelStore getViewModelStore();
-  }
-
-  public class NavController {
-    ctor public NavController(android.content.Context);
-    method public void addOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener);
-    method public androidx.navigation.NavDeepLinkBuilder createDeepLink();
-    method public androidx.navigation.NavBackStackEntry getBackStackEntry(@IdRes int);
-    method public androidx.navigation.NavBackStackEntry? getCurrentBackStackEntry();
-    method public androidx.navigation.NavDestination? getCurrentDestination();
-    method public androidx.navigation.NavGraph getGraph();
-    method public androidx.navigation.NavInflater getNavInflater();
-    method public androidx.navigation.NavigatorProvider getNavigatorProvider();
-    method public androidx.navigation.NavBackStackEntry? getPreviousBackStackEntry();
-    method public androidx.lifecycle.ViewModelStoreOwner getViewModelStoreOwner(@IdRes int);
-    method public boolean handleDeepLink(android.content.Intent?);
-    method public void navigate(@IdRes int);
-    method public void navigate(@IdRes int, android.os.Bundle?);
-    method public void navigate(@IdRes int, android.os.Bundle?, androidx.navigation.NavOptions?);
-    method public void navigate(@IdRes int, android.os.Bundle?, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void navigate(android.net.Uri);
-    method public void navigate(android.net.Uri, androidx.navigation.NavOptions?);
-    method public void navigate(android.net.Uri, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void navigate(androidx.navigation.NavDeepLinkRequest);
-    method public void navigate(androidx.navigation.NavDeepLinkRequest, androidx.navigation.NavOptions?);
-    method public void navigate(androidx.navigation.NavDeepLinkRequest, androidx.navigation.NavOptions?, androidx.navigation.Navigator.Extras?);
-    method public void navigate(androidx.navigation.NavDirections);
-    method public void navigate(androidx.navigation.NavDirections, androidx.navigation.NavOptions?);
-    method public void navigate(androidx.navigation.NavDirections, androidx.navigation.Navigator.Extras);
-    method public boolean navigateUp();
-    method public boolean popBackStack();
-    method public boolean popBackStack(@IdRes int, boolean);
-    method public void removeOnDestinationChangedListener(androidx.navigation.NavController.OnDestinationChangedListener);
-    method @CallSuper public void restoreState(android.os.Bundle?);
-    method @CallSuper public android.os.Bundle? saveState();
-    method @CallSuper public void setGraph(@NavigationRes int);
-    method @CallSuper public void setGraph(@NavigationRes int, android.os.Bundle?);
-    method @CallSuper public void setGraph(androidx.navigation.NavGraph);
-    method @CallSuper public void setGraph(androidx.navigation.NavGraph, android.os.Bundle?);
-    field public static final String KEY_DEEP_LINK_INTENT = "android-support-nav:controller:deepLinkIntent";
-  }
-
-  public static interface NavController.OnDestinationChangedListener {
-    method public void onDestinationChanged(androidx.navigation.NavController, androidx.navigation.NavDestination, android.os.Bundle?);
-  }
-
-  public final class NavDeepLinkBuilder {
-    ctor public NavDeepLinkBuilder(android.content.Context);
-    method public android.app.PendingIntent createPendingIntent();
-    method public androidx.core.app.TaskStackBuilder createTaskStackBuilder();
-    method public androidx.navigation.NavDeepLinkBuilder setArguments(android.os.Bundle?);
-    method public androidx.navigation.NavDeepLinkBuilder setComponentName(Class<? extends android.app.Activity>);
-    method public androidx.navigation.NavDeepLinkBuilder setComponentName(android.content.ComponentName);
-    method public androidx.navigation.NavDeepLinkBuilder setDestination(@IdRes int);
-    method public androidx.navigation.NavDeepLinkBuilder setGraph(@NavigationRes int);
-    method public androidx.navigation.NavDeepLinkBuilder setGraph(androidx.navigation.NavGraph);
-  }
-
-  public interface NavHost {
-    method public androidx.navigation.NavController getNavController();
-  }
-
-  public class NavHostController extends androidx.navigation.NavController {
-    ctor public NavHostController(android.content.Context);
-    method public final void enableOnBackPressed(boolean);
-    method public final void setLifecycleOwner(androidx.lifecycle.LifecycleOwner);
-    method public final void setOnBackPressedDispatcher(androidx.activity.OnBackPressedDispatcher);
-    method public final void setViewModelStore(androidx.lifecycle.ViewModelStore);
-  }
-
-  public final class NavInflater {
-    ctor public NavInflater(android.content.Context, androidx.navigation.NavigatorProvider);
-    method public androidx.navigation.NavGraph inflate(@NavigationRes int);
-  }
-
-  public final class Navigation {
-    method public static android.view.View.OnClickListener createNavigateOnClickListener(@IdRes int);
-    method public static android.view.View.OnClickListener createNavigateOnClickListener(@IdRes int, android.os.Bundle?);
-    method public static android.view.View.OnClickListener createNavigateOnClickListener(androidx.navigation.NavDirections);
-    method public static androidx.navigation.NavController findNavController(android.app.Activity, @IdRes int);
-    method public static androidx.navigation.NavController findNavController(android.view.View);
-    method public static void setViewNavController(android.view.View, androidx.navigation.NavController?);
-  }
-
-}
-
diff --git a/navigation/navigation-runtime/api/2.3.0-alpha07.txt b/navigation/navigation-runtime/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-runtime/api/2.3.0-alpha07.txt
copy to navigation/navigation-runtime/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParser.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParser.kt
index d658429..30be3b6 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParser.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/NavParser.kt
@@ -161,7 +161,6 @@
         val defaultTypedValue = when (type) {
             IntType -> parseIntValue(defaultValue)
             LongType -> parseLongValue(defaultValue)
-            DoubleType -> parseDoubleValue(defaultValue)
             FloatType -> parseFloatValue(defaultValue)
             BoolType -> parseBoolean(defaultValue)
             ReferenceType -> {
@@ -184,7 +183,7 @@
                     StringValue(defaultValue)
                 }
             }
-            IntArrayType, LongArrayType, DoubleArrayType, FloatArrayType, StringArrayType,
+            IntArrayType, LongArrayType, FloatArrayType, StringArrayType,
             BoolArrayType, ReferenceArrayType, is ObjectArrayType -> {
                 if (defaultValue == VALUE_NULL) {
                     NullValue
@@ -282,10 +281,6 @@
     if (intValue != null) {
         return Argument(name, IntType, intValue)
     }
-    val doubleValue = parseDoubleValue(defaultValue)
-    if (doubleValue != null) {
-        return Argument(name, DoubleType, doubleValue)
-    }
     val floatValue = parseFloatValue(defaultValue)
     if (floatValue != null) {
         return Argument(name, FloatType, floatValue)
@@ -346,9 +341,6 @@
 private fun parseFloatValue(value: String): FloatValue? =
         value.toFloatOrNull()?.let { FloatValue(value) }
 
-private fun parseDoubleValue(value: String): DoubleValue? =
-    value.toDoubleOrNull()?.let { DoubleValue(value) }
-
 private fun parseBoolean(value: String): BooleanValue? {
     if (value == VALUE_TRUE || value == VALUE_FALSE) {
         return BooleanValue(value)
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt
index 1956910..679deea 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/Types.kt
@@ -31,8 +31,6 @@
             "long[]" -> LongArrayType
             "float" -> FloatType
             "float[]" -> FloatArrayType
-            "double" -> DoubleType
-            "double[]" -> DoubleArrayType
             "boolean" -> BoolType
             "boolean[]" -> BoolArrayType
             "reference" -> ReferenceType
@@ -98,20 +96,6 @@
     override fun allowsNullable() = true
 }
 
-object DoubleType : NavType {
-    override fun bundlePutMethod() = "putDouble"
-    override fun bundleGetMethod() = "getDouble"
-    override fun toString() = "double"
-    override fun allowsNullable() = false
-}
-
-object DoubleArrayType : NavType {
-    override fun bundlePutMethod() = "putDoubleArray"
-    override fun bundleGetMethod() = "getDoubleArray"
-    override fun toString() = "double[]"
-    override fun allowsNullable() = true
-}
-
 object StringType : NavType {
     override fun bundlePutMethod() = "putString"
     override fun bundleGetMethod() = "getString"
@@ -187,9 +171,6 @@
 // keeping value as String, it will help to preserve client format of it: scientific, dot
 data class FloatValue(val value: String) : WritableValue
 
-// keeping value as String, it will help to preserve client format of it: scientific, dot
-data class DoubleValue(val value: String) : WritableValue
-
 data class BooleanValue(val value: String) : WritableValue
 
 object NullValue : WritableValue
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
index c2bdd0f..80ed320 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaNavWriter.kt
@@ -18,8 +18,6 @@
 
 import androidx.navigation.safe.args.generator.BoolArrayType
 import androidx.navigation.safe.args.generator.BoolType
-import androidx.navigation.safe.args.generator.DoubleArrayType
-import androidx.navigation.safe.args.generator.DoubleType
 import androidx.navigation.safe.args.generator.FloatArrayType
 import androidx.navigation.safe.args.generator.FloatType
 import androidx.navigation.safe.args.generator.IntArrayType
@@ -452,10 +450,8 @@
                 ReferenceType,
                 LongType -> "$getterName != that.$getterName"
                 FloatType -> "Float.compare(that.$getterName, $getterName) != 0"
-                DoubleType -> "Double.compare(that.$getterName, $getterName) != 0"
-                StringType, IntArrayType, LongArrayType, FloatArrayType, DoubleArrayType,
-                StringArrayType, BoolArrayType, ReferenceArrayType, is ObjectArrayType,
-                is ObjectType ->
+                StringType, IntArrayType, LongArrayType, FloatArrayType, StringArrayType,
+                BoolArrayType, ReferenceArrayType, is ObjectArrayType, is ObjectType ->
                     "$getterName != null ? !$getterName.equals(that.$getterName) " +
                         ": that.$getterName != null"
                 else -> throw IllegalStateException("unknown type: $type")
@@ -486,8 +482,7 @@
             val hashCodeExpression = when (type) {
                 IntType, ReferenceType -> getterName
                 FloatType -> "Float.floatToIntBits($getterName)"
-                DoubleType -> "Long.valueOf(Double.doubleToLongBits($getterName)).hashCode()"
-                IntArrayType, LongArrayType, FloatArrayType, DoubleArrayType, StringArrayType,
+                IntArrayType, LongArrayType, FloatArrayType, StringArrayType,
                 BoolArrayType, ReferenceArrayType, is ObjectArrayType ->
                     "java.util.Arrays.hashCode($getterName)"
                 StringType, is ObjectType ->
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt
index 645848c..b495c26 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/java/JavaTypes.kt
@@ -19,9 +19,6 @@
 import androidx.navigation.safe.args.generator.BoolArrayType
 import androidx.navigation.safe.args.generator.BoolType
 import androidx.navigation.safe.args.generator.BooleanValue
-import androidx.navigation.safe.args.generator.DoubleArrayType
-import androidx.navigation.safe.args.generator.DoubleType
-import androidx.navigation.safe.args.generator.DoubleValue
 import androidx.navigation.safe.args.generator.EnumValue
 import androidx.navigation.safe.args.generator.FloatArrayType
 import androidx.navigation.safe.args.generator.FloatType
@@ -205,8 +202,6 @@
     LongArrayType -> ArrayTypeName.of(TypeName.LONG)
     FloatType -> TypeName.FLOAT
     FloatArrayType -> ArrayTypeName.of(TypeName.FLOAT)
-    DoubleType -> TypeName.DOUBLE
-    DoubleArrayType -> ArrayTypeName.of(TypeName.DOUBLE)
     StringType -> ClassName.get(String::class.java)
     StringArrayType -> ArrayTypeName.of(ClassName.get(String::class.java))
     BoolType -> TypeName.BOOLEAN
@@ -230,7 +225,6 @@
         is IntValue -> CodeBlock.of(value)
         is LongValue -> CodeBlock.of(value)
         is FloatValue -> CodeBlock.of("${value}F")
-        is DoubleValue -> CodeBlock.of(value)
         is BooleanValue -> CodeBlock.of(value)
         is NullValue -> CodeBlock.of("null")
         is EnumValue -> CodeBlock.of("$T.$N", type.typeName(), value)
diff --git a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt
index f0eb8c2..4a1782a 100644
--- a/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt
+++ b/navigation/navigation-safe-args-generator/src/main/kotlin/androidx/navigation/safe/args/generator/kotlin/KotlinTypes.kt
@@ -19,9 +19,6 @@
 import androidx.navigation.safe.args.generator.BoolArrayType
 import androidx.navigation.safe.args.generator.BoolType
 import androidx.navigation.safe.args.generator.BooleanValue
-import androidx.navigation.safe.args.generator.DoubleArrayType
-import androidx.navigation.safe.args.generator.DoubleType
-import androidx.navigation.safe.args.generator.DoubleValue
 import androidx.navigation.safe.args.generator.EnumValue
 import androidx.navigation.safe.args.generator.FloatArrayType
 import androidx.navigation.safe.args.generator.FloatType
@@ -50,7 +47,6 @@
 import com.squareup.kotlinpoet.BOOLEAN
 import com.squareup.kotlinpoet.ClassName
 import com.squareup.kotlinpoet.CodeBlock
-import com.squareup.kotlinpoet.DOUBLE
 import com.squareup.kotlinpoet.FLOAT
 import com.squareup.kotlinpoet.FunSpec
 import com.squareup.kotlinpoet.INT
@@ -163,8 +159,6 @@
     LongArrayType -> LongArray::class.asTypeName()
     FloatType -> FLOAT
     FloatArrayType -> FloatArray::class.asTypeName()
-    DoubleType -> DOUBLE
-    DoubleArrayType -> DoubleArray::class.asTypeName()
     StringType -> String::class.asTypeName()
     StringArrayType -> ARRAY.parameterizedBy(String::class.asTypeName())
     BoolType -> BOOLEAN
@@ -189,7 +183,6 @@
         is IntValue -> CodeBlock.of(value)
         is LongValue -> CodeBlock.of(value)
         is FloatValue -> CodeBlock.of("${value}F")
-        is DoubleValue -> CodeBlock.of(value)
         is BooleanValue -> CodeBlock.of(value)
         is NullValue -> CodeBlock.of("null")
         is EnumValue -> CodeBlock.of("%T.%N", type.typeName(), value)
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt
index 8c561d6..819ad33 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/JavaNavWriterTest.kt
@@ -197,8 +197,6 @@
                 Argument("referenceZeroDefaultValue", ReferenceType, IntValue("0")),
                 Argument("floatArg", FloatType, FloatValue("1")),
                 Argument("floatArrayArg", FloatArrayType),
-                Argument("doubleArg", DoubleType, DoubleValue("1.2")),
-                Argument("doubleArrayArg", DoubleArrayType),
                 Argument("objectArrayArg", ObjectArrayType(
                     "android.content.pm.ActivityInfo")),
                 Argument("boolArg", BoolType, BooleanValue("true")),
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/KotlinNavWriterTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/KotlinNavWriterTest.kt
index 8726a8d..3a5dc96 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/KotlinNavWriterTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/KotlinNavWriterTest.kt
@@ -145,8 +145,6 @@
             Argument("referenceZeroDefaultValue", ReferenceType, IntValue("0")),
             Argument("floatArg", FloatType, FloatValue("1")),
             Argument("floatArrayArg", FloatArrayType),
-            Argument("doubleArg", DoubleType, DoubleValue("1.2")),
-            Argument("doubleArrayArg", DoubleArrayType),
             Argument("objectArrayArg", ObjectArrayType("android.content.pm.ActivityInfo")),
             Argument("boolArg", BoolType, BooleanValue("true")),
             Argument(
diff --git a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
index 44de798..e45da8a 100644
--- a/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
+++ b/navigation/navigation-safe-args-generator/src/test/kotlin/androidx/navigation/safe/args/generator/NavParserTest.kt
@@ -47,7 +47,6 @@
                         Argument("myarg2", StringType),
                         Argument("randomArgument", StringType),
                         Argument("intArgument", IntType, IntValue("261")),
-                        Argument("doubleArgument", DoubleType, DoubleValue("1.2345")),
                         Argument("referenceZeroDefaultValue", ReferenceType, IntValue("0")),
                         Argument(
                                 "activityInfo",
@@ -60,7 +59,6 @@
                                 true
                         ),
                         Argument("intArrayArg", IntArrayType),
-                        Argument("doubleArrayArg", DoubleArrayType),
                         Argument("stringArrayArg", StringArrayType),
                         Argument("objectArrayArg", ObjectArrayType(
                             "android.content.pm.ActivityInfo")),
@@ -199,7 +197,7 @@
         val infer = { value: String -> inferArgument("foo", value, "a.b") }
         val intArg = { value: String -> Argument("foo", IntType, IntValue(value)) }
         val longArg = { value: String -> Argument("foo", LongType, LongValue(value)) }
-        val doubleArg = { value: String -> Argument("foo", DoubleType, DoubleValue(value)) }
+        val floatArg = { value: String -> Argument("foo", FloatType, FloatValue(value)) }
         val stringArg = { value: String -> Argument("foo", StringType, StringValue(value)) }
         val nullStringArg = Argument("foo", StringType, NullValue, true)
         val boolArg = { value: String -> Argument("foo", BoolType, BooleanValue(value)) }
@@ -220,10 +218,10 @@
         assertThat(infer("@+id/foo"), `is`(referenceArg("a.b", "id", "foo")))
         assertThat(infer("@foo:stuff"), `is`(stringArg("@foo:stuff")))
         assertThat(infer("@/stuff"), `is`(stringArg("@/stuff")))
-        assertThat(infer("10101010100100"), `is`(doubleArg("10101010100100")))
-        assertThat(infer("1."), `is`(doubleArg("1.")))
-        assertThat(infer("1.2e-4"), `is`(doubleArg("1.2e-4")))
-        assertThat(infer(".4"), `is`(doubleArg(".4")))
+        assertThat(infer("10101010100100"), `is`(floatArg("10101010100100")))
+        assertThat(infer("1."), `is`(floatArg("1.")))
+        assertThat(infer("1.2e-4"), `is`(floatArg("1.2e-4")))
+        assertThat(infer(".4"), `is`(floatArg(".4")))
         assertThat(infer("true"), `is`(boolArg("true")))
         assertThat(infer("false"), `is`(boolArg("false")))
         assertThat(infer("123L"), `is`(longArg("123L")))
diff --git a/navigation/navigation-safe-args-generator/src/test/test-data/expected/java_nav_writer_test/MainFragmentArgs.java b/navigation/navigation-safe-args-generator/src/test/test-data/expected/java_nav_writer_test/MainFragmentArgs.java
index 896c272..58cff15 100644
--- a/navigation/navigation-safe-args-generator/src/test/test-data/expected/java_nav_writer_test/MainFragmentArgs.java
+++ b/navigation/navigation-safe-args-generator/src/test/test-data/expected/java_nav_writer_test/MainFragmentArgs.java
@@ -79,23 +79,6 @@
         } else {
             throw new IllegalArgumentException("Required argument \"floatArrayArg\" is missing and does not have an android:defaultValue");
         }
-        if (bundle.containsKey("doubleArg")) {
-            double doubleArg;
-            doubleArg = bundle.getDouble("doubleArg");
-            __result.arguments.put("doubleArg", doubleArg);
-        } else {
-            __result.arguments.put("doubleArg", 1.2);
-        }
-        if (bundle.containsKey("doubleArrayArg")) {
-            double[] doubleArrayArg;
-            doubleArrayArg = bundle.getDoubleArray("doubleArrayArg");
-            if (doubleArrayArg == null) {
-                throw new IllegalArgumentException("Argument \"doubleArrayArg\" is marked as non-null but was passed a null value.");
-            }
-            __result.arguments.put("doubleArrayArg", doubleArrayArg);
-        } else {
-            throw new IllegalArgumentException("Required argument \"doubleArrayArg\" is missing and does not have an android:defaultValue");
-        }
         if (bundle.containsKey("objectArrayArg")) {
             ActivityInfo[] objectArrayArg;
             Parcelable[] __array = bundle.getParcelableArray("objectArrayArg");
@@ -180,17 +163,6 @@
     }
 
     @SuppressWarnings("unchecked")
-    public double getDoubleArg() {
-        return (double) arguments.get("doubleArg");
-    }
-
-    @SuppressWarnings("unchecked")
-    @NonNull
-    public double[] getDoubleArrayArg() {
-        return (double[]) arguments.get("doubleArrayArg");
-    }
-
-    @SuppressWarnings("unchecked")
     @NonNull
     public ActivityInfo[] getObjectArrayArg() {
         return (ActivityInfo[]) arguments.get("objectArrayArg");
@@ -249,16 +221,6 @@
             float[] floatArrayArg = (float[]) arguments.get("floatArrayArg");
             __result.putFloatArray("floatArrayArg", floatArrayArg);
         }
-        if (arguments.containsKey("doubleArg")) {
-            double doubleArg = (double) arguments.get("doubleArg");
-            __result.putDouble("doubleArg", doubleArg);
-        } else {
-            __result.putDouble("doubleArg", 1.2);
-        }
-        if (arguments.containsKey("doubleArrayArg")) {
-            double[] doubleArrayArg = (double[]) arguments.get("doubleArrayArg");
-            __result.putDoubleArray("doubleArrayArg", doubleArrayArg);
-        }
         if (arguments.containsKey("objectArrayArg")) {
             ActivityInfo[] objectArrayArg = (ActivityInfo[]) arguments.get("objectArrayArg");
             __result.putParcelableArray("objectArrayArg", objectArrayArg);
@@ -341,18 +303,6 @@
         if (getFloatArrayArg() != null ? !getFloatArrayArg().equals(that.getFloatArrayArg()) : that.getFloatArrayArg() != null) {
             return false;
         }
-        if (arguments.containsKey("doubleArg") != that.arguments.containsKey("doubleArg")) {
-            return false;
-        }
-        if (Double.compare(that.getDoubleArg(), getDoubleArg()) != 0) {
-            return false;
-        }
-        if (arguments.containsKey("doubleArrayArg") != that.arguments.containsKey("doubleArrayArg")) {
-            return false;
-        }
-        if (getDoubleArrayArg() != null ? !getDoubleArrayArg().equals(that.getDoubleArrayArg()) : that.getDoubleArrayArg() != null) {
-            return false;
-        }
         if (arguments.containsKey("objectArrayArg") != that.arguments.containsKey("objectArrayArg")) {
             return false;
         }
@@ -389,8 +339,6 @@
         result = 31 * result + getReferenceZeroDefaultValue();
         result = 31 * result + Float.floatToIntBits(getFloatArg());
         result = 31 * result + java.util.Arrays.hashCode(getFloatArrayArg());
-        result = 31 * result + Long.valueOf(Double.doubleToLongBits(getDoubleArg())).hashCode();
-        result = 31 * result + java.util.Arrays.hashCode(getDoubleArrayArg());
         result = 31 * result + java.util.Arrays.hashCode(getObjectArrayArg());
         result = 31 * result + (getBoolArg() ? 1 : 0);
         result = 31 * result + (getOptionalParcelable() != null ? getOptionalParcelable().hashCode() : 0);
@@ -407,8 +355,6 @@
                 + ", referenceZeroDefaultValue=" + getReferenceZeroDefaultValue()
                 + ", floatArg=" + getFloatArg()
                 + ", floatArrayArg=" + getFloatArrayArg()
-                + ", doubleArg=" + getDoubleArg()
-                + ", doubleArrayArg=" + getDoubleArrayArg()
                 + ", objectArrayArg=" + getObjectArrayArg()
                 + ", boolArg=" + getBoolArg()
                 + ", optionalParcelable=" + getOptionalParcelable()
@@ -424,7 +370,7 @@
         }
 
         public Builder(@NonNull String main, @NonNull float[] floatArrayArg,
-                @NonNull double[] doubleArrayArg, @NonNull ActivityInfo[] objectArrayArg) {
+                @NonNull ActivityInfo[] objectArrayArg) {
             if (main == null) {
                 throw new IllegalArgumentException("Argument \"main\" is marked as non-null but was passed a null value.");
             }
@@ -433,10 +379,6 @@
                 throw new IllegalArgumentException("Argument \"floatArrayArg\" is marked as non-null but was passed a null value.");
             }
             this.arguments.put("floatArrayArg", floatArrayArg);
-            if (doubleArrayArg == null) {
-                throw new IllegalArgumentException("Argument \"doubleArrayArg\" is marked as non-null but was passed a null value.");
-            }
-            this.arguments.put("doubleArrayArg", doubleArrayArg);
             if (objectArrayArg == null) {
                 throw new IllegalArgumentException("Argument \"objectArrayArg\" is marked as non-null but was passed a null value.");
             }
@@ -492,21 +434,6 @@
         }
 
         @NonNull
-        public Builder setDoubleArg(double doubleArg) {
-            this.arguments.put("doubleArg", doubleArg);
-            return this;
-        }
-
-        @NonNull
-        public Builder setDoubleArrayArg(@NonNull double[] doubleArrayArg) {
-            if (doubleArrayArg == null) {
-                throw new IllegalArgumentException("Argument \"doubleArrayArg\" is marked as non-null but was passed a null value.");
-            }
-            this.arguments.put("doubleArrayArg", doubleArrayArg);
-            return this;
-        }
-
-        @NonNull
         public Builder setObjectArrayArg(@NonNull ActivityInfo[] objectArrayArg) {
             if (objectArrayArg == null) {
                 throw new IllegalArgumentException("Argument \"objectArrayArg\" is marked as non-null but was passed a null value.");
@@ -569,17 +496,6 @@
         }
 
         @SuppressWarnings("unchecked")
-        public double getDoubleArg() {
-            return (double) arguments.get("doubleArg");
-        }
-
-        @SuppressWarnings("unchecked")
-        @NonNull
-        public double[] getDoubleArrayArg() {
-            return (double[]) arguments.get("doubleArrayArg");
-        }
-
-        @SuppressWarnings("unchecked")
         @NonNull
         public ActivityInfo[] getObjectArrayArg() {
             return (ActivityInfo[]) arguments.get("objectArrayArg");
diff --git a/navigation/navigation-safe-args-generator/src/test/test-data/expected/kotlin_nav_writer_test/MainFragmentArgs.kt b/navigation/navigation-safe-args-generator/src/test/test-data/expected/kotlin_nav_writer_test/MainFragmentArgs.kt
index 3ba79a4..447ecf2 100644
--- a/navigation/navigation-safe-args-generator/src/test/test-data/expected/kotlin_nav_writer_test/MainFragmentArgs.kt
+++ b/navigation/navigation-safe-args-generator/src/test/test-data/expected/kotlin_nav_writer_test/MainFragmentArgs.kt
@@ -10,8 +10,6 @@
 import java.nio.file.AccessMode
 import kotlin.Array
 import kotlin.Boolean
-import kotlin.Double
-import kotlin.DoubleArray
 import kotlin.Float
 import kotlin.FloatArray
 import kotlin.Int
@@ -26,8 +24,6 @@
   val referenceZeroDefaultValue: Int = 0,
   val floatArg: Float = 1F,
   val floatArrayArg: FloatArray,
-  val doubleArg: Double = 1.2,
-  val doubleArrayArg: DoubleArray,
   val objectArrayArg: Array<ActivityInfo>,
   val boolArg: Boolean = true,
   val optionalParcelable: ActivityInfo? = null,
@@ -42,8 +38,6 @@
     result.putInt("referenceZeroDefaultValue", this.referenceZeroDefaultValue)
     result.putFloat("floatArg", this.floatArg)
     result.putFloatArray("floatArrayArg", this.floatArrayArg)
-    result.putDouble("doubleArg", this.doubleArg)
-    result.putDoubleArray("doubleArrayArg", this.doubleArrayArg)
     result.putParcelableArray("objectArrayArg", this.objectArrayArg)
     result.putBoolean("boolArg", this.boolArg)
     if (Parcelable::class.java.isAssignableFrom(ActivityInfo::class.java)) {
@@ -106,21 +100,6 @@
       } else {
         throw IllegalArgumentException("Required argument \"floatArrayArg\" is missing and does not have an android:defaultValue")
       }
-      val __doubleArg : Double
-      if (bundle.containsKey("doubleArg")) {
-        __doubleArg = bundle.getDouble("doubleArg")
-      } else {
-        __doubleArg = 1.2
-      }
-      val __doubleArrayArg : DoubleArray?
-      if (bundle.containsKey("doubleArrayArg")) {
-        __doubleArrayArg = bundle.getDoubleArray("doubleArrayArg")
-        if (__doubleArrayArg == null) {
-          throw IllegalArgumentException("Argument \"doubleArrayArg\" is marked as non-null but was passed a null value.")
-        }
-      } else {
-        throw IllegalArgumentException("Required argument \"doubleArrayArg\" is missing and does not have an android:defaultValue")
-      }
       val __objectArrayArg : Array<ActivityInfo>?
       if (bundle.containsKey("objectArrayArg")) {
         __objectArrayArg = bundle.getParcelableArray("objectArrayArg")?.map { it as ActivityInfo
@@ -165,8 +144,7 @@
         __enumArg = AccessMode.READ
       }
       return MainFragmentArgs(__main, __optional, __reference, __referenceZeroDefaultValue,
-          __floatArg, __floatArrayArg, __doubleArg, __doubleArrayArg, __objectArrayArg, __boolArg,
-          __optionalParcelable, __enumArg)
+          __floatArg, __floatArrayArg, __objectArrayArg, __boolArg, __optionalParcelable, __enumArg)
     }
   }
 }
diff --git a/navigation/navigation-safe-args-generator/src/test/test-data/naive_test.xml b/navigation/navigation-safe-args-generator/src/test/test-data/naive_test.xml
index 81141594..50542fc 100644
--- a/navigation/navigation-safe-args-generator/src/test/test-data/naive_test.xml
+++ b/navigation/navigation-safe-args-generator/src/test/test-data/naive_test.xml
@@ -25,8 +25,6 @@
             <argument android:name="myarg2" app:argType="string"/>
             <argument android:name="randomArgument" app:argType="string"/>
             <argument android:name="intArgument" app:argType="integer" android:defaultValue="261"/>
-            <argument android:name="doubleArgument" app:argType="double"
-                android:defaultValue="1.2345"/>
             <argument android:name="referenceZeroDefaultValue" app:argType="reference" android:defaultValue="0"/>
             <argument android:name="activityInfo" app:argType="android.content.pm.ActivityInfo"/>
             <argument android:name="activityInfoNull"
@@ -35,7 +33,6 @@
                       android:defaultValue="@null"
             />
             <argument android:name="intArrayArg" app:argType="integer[]"/>
-            <argument android:name="doubleArrayArg" app:argType="double[]"/>
             <argument android:name="stringArrayArg" app:argType="string[]"/>
             <argument android:name="objectArrayArg" app:argType="android.content.pm.ActivityInfo[]"/>
             <argument android:name="enumArg" app:argType="java.nio.file.AccessMode"
diff --git a/navigation/navigation-safe-args-gradle-plugin/src/test/test-data/app-project-kotlin/src/main/res/navigation/nav_test.xml b/navigation/navigation-safe-args-gradle-plugin/src/test/test-data/app-project-kotlin/src/main/res/navigation/nav_test.xml
index 0f6f3c3..fa455bd 100644
--- a/navigation/navigation-safe-args-gradle-plugin/src/test/test-data/app-project-kotlin/src/main/res/navigation/nav_test.xml
+++ b/navigation/navigation-safe-args-gradle-plugin/src/test/test-data/app-project-kotlin/src/main/res/navigation/nav_test.xml
@@ -46,7 +46,7 @@
         <argument android:name="optional" android:defaultValue="-1"/>
         <argument android:name="reference" android:defaultValue="@color/colorPrimary"/>
         <argument android:name="referenceZeroDefaultValue" app:argType="reference" android:defaultValue="0"/>
-        <argument android:name="doubleArg" android:defaultValue="-1.0"/>
+        <argument android:name="floatArg" android:defaultValue="-1.0"/>
         <argument android:name="floatArrayArg" app:argType="float[]"/>
         <argument android:name="objectArrayArg" app:argType="android.content.pm.ActivityInfo[]"/>
         <argument android:name="boolArg" android:defaultValue="true"/>
diff --git a/navigation/navigation-testing/api/2.3.0-alpha07.txt b/navigation/navigation-testing/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-testing/api/2.3.0-alpha07.txt
rename to navigation/navigation-testing/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-testing/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-testing/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index be673f0..0000000
--- a/navigation/navigation-testing/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.testing {
-
-  public final class TestNavHostController extends androidx.navigation.NavHostController {
-    ctor public TestNavHostController(android.content.Context context);
-    method public java.util.List<androidx.navigation.NavBackStackEntry> getBackStack();
-    method public void setCurrentDestination(@IdRes int destId, android.os.Bundle args = android.os.Bundle());
-    method public void setCurrentDestination(@IdRes int destId);
-    property public final java.util.List<androidx.navigation.NavBackStackEntry> backStack;
-  }
-
-}
-
diff --git a/navigation/navigation-testing/api/2.3.0-alpha07.txt b/navigation/navigation-testing/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-testing/api/2.3.0-alpha07.txt
copy to navigation/navigation-testing/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-testing/api/res-2.3.0-alpha07.txt b/navigation/navigation-testing/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-testing/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-testing/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-testing/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-testing/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index be673f0..0000000
--- a/navigation/navigation-testing/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.testing {
-
-  public final class TestNavHostController extends androidx.navigation.NavHostController {
-    ctor public TestNavHostController(android.content.Context context);
-    method public java.util.List<androidx.navigation.NavBackStackEntry> getBackStack();
-    method public void setCurrentDestination(@IdRes int destId, android.os.Bundle args = android.os.Bundle());
-    method public void setCurrentDestination(@IdRes int destId);
-    property public final java.util.List<androidx.navigation.NavBackStackEntry> backStack;
-  }
-
-}
-
diff --git a/navigation/navigation-testing/api/2.3.0-alpha07.txt b/navigation/navigation-testing/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-testing/api/2.3.0-alpha07.txt
copy to navigation/navigation-testing/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-ui-ktx/api/2.3.0-alpha07.ignore b/navigation/navigation-ui-ktx/api/2.3.0-beta01.ignore
similarity index 100%
rename from navigation/navigation-ui-ktx/api/2.3.0-alpha07.ignore
rename to navigation/navigation-ui-ktx/api/2.3.0-beta01.ignore
diff --git a/navigation/navigation-ui-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-ui-ktx/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-ui-ktx/api/2.3.0-alpha07.txt
rename to navigation/navigation-ui-ktx/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-ui-ktx/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-ui-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index b03728d..0000000
--- a/navigation/navigation-ui-ktx/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.ui {
-
-  public final class ActivityKt {
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController navController, androidx.drawerlayout.widget.DrawerLayout? drawerLayout);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController navController, androidx.navigation.ui.AppBarConfiguration configuration = AppBarConfiguration(navController.graph));
-  }
-
-  public final class AppBarConfigurationKt {
-    method public static inline androidx.navigation.ui.AppBarConfiguration AppBarConfiguration(androidx.navigation.NavGraph navGraph, androidx.customview.widget.Openable? drawerLayout = null, kotlin.jvm.functions.Function0<java.lang.Boolean> fallbackOnNavigateUpListener = { return false });
-    method public static inline androidx.navigation.ui.AppBarConfiguration AppBarConfiguration(android.view.Menu topLevelMenu, androidx.customview.widget.Openable? drawerLayout = null, kotlin.jvm.functions.Function0<java.lang.Boolean> fallbackOnNavigateUpListener = { return false });
-    method public static inline androidx.navigation.ui.AppBarConfiguration AppBarConfiguration(java.util.Set<java.lang.Integer> topLevelDestinationIds, androidx.customview.widget.Openable? drawerLayout = null, kotlin.jvm.functions.Function0<java.lang.Boolean> fallbackOnNavigateUpListener = { return false });
-  }
-
-  public final class BottomNavigationViewKt {
-    method public static void setupWithNavController(com.google.android.material.bottomnavigation.BottomNavigationView, androidx.navigation.NavController navController);
-  }
-
-  public final class CollapsingToolbarLayoutKt {
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar toolbar, androidx.navigation.NavController navController, androidx.drawerlayout.widget.DrawerLayout? drawerLayout);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar toolbar, androidx.navigation.NavController navController, androidx.navigation.ui.AppBarConfiguration configuration = AppBarConfiguration(navController.graph));
-  }
-
-  public final class MenuItemKt {
-    method public static boolean onNavDestinationSelected(android.view.MenuItem, androidx.navigation.NavController navController);
-  }
-
-  public final class NavControllerKt {
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.customview.widget.Openable? drawerLayout);
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration appBarConfiguration);
-  }
-
-  public final class NavigationViewKt {
-    method public static void setupWithNavController(com.google.android.material.navigation.NavigationView, androidx.navigation.NavController navController);
-  }
-
-  public final class ToolbarKt {
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController navController, androidx.drawerlayout.widget.DrawerLayout? drawerLayout);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController navController, androidx.navigation.ui.AppBarConfiguration configuration = AppBarConfiguration(navController.graph));
-  }
-
-}
-
diff --git a/navigation/navigation-ui-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-ui-ktx/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-ui-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-ui-ktx/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-ui-ktx/api/res-2.3.0-alpha07.txt b/navigation/navigation-ui-ktx/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-ui-ktx/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-ui-ktx/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-ui-ktx/api/restricted_2.3.0-alpha07.ignore b/navigation/navigation-ui-ktx/api/restricted_2.3.0-alpha07.ignore
deleted file mode 100644
index 657afee..0000000
--- a/navigation/navigation-ui-ktx/api/restricted_2.3.0-alpha07.ignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Baseline format: 1.0
-RemovedMethod: androidx.navigation.ui.AppBarConfigurationKt#AppBarConfiguration(android.view.Menu, androidx.drawerlayout.widget.DrawerLayout, kotlin.jvm.functions.Function0<java.lang.Boolean>):
-    Removed method androidx.navigation.ui.AppBarConfigurationKt.AppBarConfiguration(android.view.Menu,androidx.drawerlayout.widget.DrawerLayout,kotlin.jvm.functions.Function0<java.lang.Boolean>)
-RemovedMethod: androidx.navigation.ui.AppBarConfigurationKt#AppBarConfiguration(androidx.navigation.NavGraph, androidx.drawerlayout.widget.DrawerLayout, kotlin.jvm.functions.Function0<java.lang.Boolean>):
-    Removed method androidx.navigation.ui.AppBarConfigurationKt.AppBarConfiguration(androidx.navigation.NavGraph,androidx.drawerlayout.widget.DrawerLayout,kotlin.jvm.functions.Function0<java.lang.Boolean>)
-RemovedMethod: androidx.navigation.ui.AppBarConfigurationKt#AppBarConfiguration(java.util.Set<java.lang.Integer>, androidx.drawerlayout.widget.DrawerLayout, kotlin.jvm.functions.Function0<java.lang.Boolean>):
-    Removed method androidx.navigation.ui.AppBarConfigurationKt.AppBarConfiguration(java.util.Set<java.lang.Integer>,androidx.drawerlayout.widget.DrawerLayout,kotlin.jvm.functions.Function0<java.lang.Boolean>)
-RemovedMethod: androidx.navigation.ui.NavControllerKt#navigateUp(androidx.navigation.NavController, androidx.drawerlayout.widget.DrawerLayout):
-    Removed method androidx.navigation.ui.NavControllerKt.navigateUp(androidx.navigation.NavController,androidx.drawerlayout.widget.DrawerLayout)
diff --git a/navigation/navigation-ui-ktx/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-ui-ktx/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index b03728d..0000000
--- a/navigation/navigation-ui-ktx/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.ui {
-
-  public final class ActivityKt {
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController navController, androidx.drawerlayout.widget.DrawerLayout? drawerLayout);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController navController, androidx.navigation.ui.AppBarConfiguration configuration = AppBarConfiguration(navController.graph));
-  }
-
-  public final class AppBarConfigurationKt {
-    method public static inline androidx.navigation.ui.AppBarConfiguration AppBarConfiguration(androidx.navigation.NavGraph navGraph, androidx.customview.widget.Openable? drawerLayout = null, kotlin.jvm.functions.Function0<java.lang.Boolean> fallbackOnNavigateUpListener = { return false });
-    method public static inline androidx.navigation.ui.AppBarConfiguration AppBarConfiguration(android.view.Menu topLevelMenu, androidx.customview.widget.Openable? drawerLayout = null, kotlin.jvm.functions.Function0<java.lang.Boolean> fallbackOnNavigateUpListener = { return false });
-    method public static inline androidx.navigation.ui.AppBarConfiguration AppBarConfiguration(java.util.Set<java.lang.Integer> topLevelDestinationIds, androidx.customview.widget.Openable? drawerLayout = null, kotlin.jvm.functions.Function0<java.lang.Boolean> fallbackOnNavigateUpListener = { return false });
-  }
-
-  public final class BottomNavigationViewKt {
-    method public static void setupWithNavController(com.google.android.material.bottomnavigation.BottomNavigationView, androidx.navigation.NavController navController);
-  }
-
-  public final class CollapsingToolbarLayoutKt {
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar toolbar, androidx.navigation.NavController navController, androidx.drawerlayout.widget.DrawerLayout? drawerLayout);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar toolbar, androidx.navigation.NavController navController, androidx.navigation.ui.AppBarConfiguration configuration = AppBarConfiguration(navController.graph));
-  }
-
-  public final class MenuItemKt {
-    method public static boolean onNavDestinationSelected(android.view.MenuItem, androidx.navigation.NavController navController);
-  }
-
-  public final class NavControllerKt {
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.customview.widget.Openable? drawerLayout);
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration appBarConfiguration);
-  }
-
-  public final class NavigationViewKt {
-    method public static void setupWithNavController(com.google.android.material.navigation.NavigationView, androidx.navigation.NavController navController);
-  }
-
-  public final class ToolbarKt {
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController navController, androidx.drawerlayout.widget.DrawerLayout? drawerLayout);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController navController, androidx.navigation.ui.AppBarConfiguration configuration = AppBarConfiguration(navController.graph));
-  }
-
-}
-
diff --git a/navigation/navigation-ui-ktx/api/2.3.0-alpha07.ignore b/navigation/navigation-ui-ktx/api/restricted_2.3.0-beta01.ignore
similarity index 100%
copy from navigation/navigation-ui-ktx/api/2.3.0-alpha07.ignore
copy to navigation/navigation-ui-ktx/api/restricted_2.3.0-beta01.ignore
diff --git a/navigation/navigation-ui-ktx/api/2.3.0-alpha07.txt b/navigation/navigation-ui-ktx/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-ui-ktx/api/2.3.0-alpha07.txt
copy to navigation/navigation-ui-ktx/api/restricted_2.3.0-beta01.txt
diff --git a/navigation/navigation-ui/api/2.3.0-alpha07.ignore b/navigation/navigation-ui/api/2.3.0-beta01.ignore
similarity index 100%
rename from navigation/navigation-ui/api/2.3.0-alpha07.ignore
rename to navigation/navigation-ui/api/2.3.0-beta01.ignore
diff --git a/navigation/navigation-ui/api/2.3.0-alpha07.txt b/navigation/navigation-ui/api/2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-ui/api/2.3.0-alpha07.txt
rename to navigation/navigation-ui/api/2.3.0-beta01.txt
diff --git a/navigation/navigation-ui/api/public_plus_experimental_2.3.0-alpha07.txt b/navigation/navigation-ui/api/public_plus_experimental_2.3.0-alpha07.txt
deleted file mode 100644
index 694afbd..0000000
--- a/navigation/navigation-ui/api/public_plus_experimental_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.ui {
-
-  public final class AppBarConfiguration {
-    method @Deprecated public androidx.drawerlayout.widget.DrawerLayout? getDrawerLayout();
-    method public androidx.navigation.ui.AppBarConfiguration.OnNavigateUpListener? getFallbackOnNavigateUpListener();
-    method public androidx.customview.widget.Openable? getOpenableLayout();
-    method public java.util.Set<java.lang.Integer!> getTopLevelDestinations();
-  }
-
-  public static final class AppBarConfiguration.Builder {
-    ctor public AppBarConfiguration.Builder(androidx.navigation.NavGraph);
-    ctor public AppBarConfiguration.Builder(android.view.Menu);
-    ctor public AppBarConfiguration.Builder(int...);
-    ctor public AppBarConfiguration.Builder(java.util.Set<java.lang.Integer!>);
-    method public androidx.navigation.ui.AppBarConfiguration build();
-    method @Deprecated public androidx.navigation.ui.AppBarConfiguration.Builder setDrawerLayout(androidx.drawerlayout.widget.DrawerLayout?);
-    method public androidx.navigation.ui.AppBarConfiguration.Builder setFallbackOnNavigateUpListener(androidx.navigation.ui.AppBarConfiguration.OnNavigateUpListener?);
-    method public androidx.navigation.ui.AppBarConfiguration.Builder setOpenableLayout(androidx.customview.widget.Openable?);
-  }
-
-  public static interface AppBarConfiguration.OnNavigateUpListener {
-    method public boolean onNavigateUp();
-  }
-
-  public final class NavigationUI {
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static boolean onNavDestinationSelected(android.view.MenuItem, androidx.navigation.NavController);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static void setupWithNavController(com.google.android.material.navigation.NavigationView, androidx.navigation.NavController);
-    method public static void setupWithNavController(com.google.android.material.bottomnavigation.BottomNavigationView, androidx.navigation.NavController);
-  }
-
-}
-
diff --git a/navigation/navigation-ui/api/2.3.0-alpha07.txt b/navigation/navigation-ui/api/public_plus_experimental_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-ui/api/2.3.0-alpha07.txt
copy to navigation/navigation-ui/api/public_plus_experimental_2.3.0-beta01.txt
diff --git a/navigation/navigation-ui/api/res-2.3.0-alpha07.txt b/navigation/navigation-ui/api/res-2.3.0-beta01.txt
similarity index 100%
rename from navigation/navigation-ui/api/res-2.3.0-alpha07.txt
rename to navigation/navigation-ui/api/res-2.3.0-beta01.txt
diff --git a/navigation/navigation-ui/api/restricted_2.3.0-alpha07.ignore b/navigation/navigation-ui/api/restricted_2.3.0-alpha07.ignore
deleted file mode 100644
index 9e9e553..0000000
--- a/navigation/navigation-ui/api/restricted_2.3.0-alpha07.ignore
+++ /dev/null
@@ -1,9 +0,0 @@
-// Baseline format: 1.0
-RemovedMethod: androidx.navigation.ui.NavigationUI#navigateUp(androidx.navigation.NavController, androidx.drawerlayout.widget.DrawerLayout):
-    Removed method androidx.navigation.ui.NavigationUI.navigateUp(androidx.navigation.NavController,androidx.drawerlayout.widget.DrawerLayout)
-RemovedMethod: androidx.navigation.ui.NavigationUI#setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController, androidx.drawerlayout.widget.DrawerLayout):
-    Removed method androidx.navigation.ui.NavigationUI.setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity,androidx.navigation.NavController,androidx.drawerlayout.widget.DrawerLayout)
-RemovedMethod: androidx.navigation.ui.NavigationUI#setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.drawerlayout.widget.DrawerLayout):
-    Removed method androidx.navigation.ui.NavigationUI.setupWithNavController(androidx.appcompat.widget.Toolbar,androidx.navigation.NavController,androidx.drawerlayout.widget.DrawerLayout)
-RemovedMethod: androidx.navigation.ui.NavigationUI#setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.drawerlayout.widget.DrawerLayout):
-    Removed method androidx.navigation.ui.NavigationUI.setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout,androidx.appcompat.widget.Toolbar,androidx.navigation.NavController,androidx.drawerlayout.widget.DrawerLayout)
diff --git a/navigation/navigation-ui/api/restricted_2.3.0-alpha07.txt b/navigation/navigation-ui/api/restricted_2.3.0-alpha07.txt
deleted file mode 100644
index 694afbd..0000000
--- a/navigation/navigation-ui/api/restricted_2.3.0-alpha07.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-// Signature format: 3.0
-package androidx.navigation.ui {
-
-  public final class AppBarConfiguration {
-    method @Deprecated public androidx.drawerlayout.widget.DrawerLayout? getDrawerLayout();
-    method public androidx.navigation.ui.AppBarConfiguration.OnNavigateUpListener? getFallbackOnNavigateUpListener();
-    method public androidx.customview.widget.Openable? getOpenableLayout();
-    method public java.util.Set<java.lang.Integer!> getTopLevelDestinations();
-  }
-
-  public static final class AppBarConfiguration.Builder {
-    ctor public AppBarConfiguration.Builder(androidx.navigation.NavGraph);
-    ctor public AppBarConfiguration.Builder(android.view.Menu);
-    ctor public AppBarConfiguration.Builder(int...);
-    ctor public AppBarConfiguration.Builder(java.util.Set<java.lang.Integer!>);
-    method public androidx.navigation.ui.AppBarConfiguration build();
-    method @Deprecated public androidx.navigation.ui.AppBarConfiguration.Builder setDrawerLayout(androidx.drawerlayout.widget.DrawerLayout?);
-    method public androidx.navigation.ui.AppBarConfiguration.Builder setFallbackOnNavigateUpListener(androidx.navigation.ui.AppBarConfiguration.OnNavigateUpListener?);
-    method public androidx.navigation.ui.AppBarConfiguration.Builder setOpenableLayout(androidx.customview.widget.Openable?);
-  }
-
-  public static interface AppBarConfiguration.OnNavigateUpListener {
-    method public boolean onNavigateUp();
-  }
-
-  public final class NavigationUI {
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static boolean navigateUp(androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static boolean onNavDestinationSelected(android.view.MenuItem, androidx.navigation.NavController);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static void setupActionBarWithNavController(androidx.appcompat.app.AppCompatActivity, androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static void setupWithNavController(androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.customview.widget.Openable?);
-    method public static void setupWithNavController(com.google.android.material.appbar.CollapsingToolbarLayout, androidx.appcompat.widget.Toolbar, androidx.navigation.NavController, androidx.navigation.ui.AppBarConfiguration);
-    method public static void setupWithNavController(com.google.android.material.navigation.NavigationView, androidx.navigation.NavController);
-    method public static void setupWithNavController(com.google.android.material.bottomnavigation.BottomNavigationView, androidx.navigation.NavController);
-  }
-
-}
-
diff --git a/navigation/navigation-ui/api/2.3.0-alpha07.ignore b/navigation/navigation-ui/api/restricted_2.3.0-beta01.ignore
similarity index 100%
copy from navigation/navigation-ui/api/2.3.0-alpha07.ignore
copy to navigation/navigation-ui/api/restricted_2.3.0-beta01.ignore
diff --git a/navigation/navigation-ui/api/2.3.0-alpha07.txt b/navigation/navigation-ui/api/restricted_2.3.0-beta01.txt
similarity index 100%
copy from navigation/navigation-ui/api/2.3.0-alpha07.txt
copy to navigation/navigation-ui/api/restricted_2.3.0-beta01.txt
diff --git a/paging/common/api/3.0.0-alpha01.txt b/paging/common/api/3.0.0-alpha01.txt
index 81fa647..4745aeb 100644
--- a/paging/common/api/3.0.0-alpha01.txt
+++ b/paging/common/api/3.0.0-alpha01.txt
@@ -279,23 +279,26 @@
   public abstract static sealed class PagingSource.LoadParams<Key> {
     method public abstract Key? getKey();
     method public final int getLoadSize();
-    method public final int getPageSize();
+    method @Deprecated public final int getPageSize();
     method public final boolean getPlaceholdersEnabled();
     property public abstract Key? key;
   }
 
   public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
     method public Key? getKey();
   }
 
diff --git a/paging/common/api/current.txt b/paging/common/api/current.txt
index 81fa647..4745aeb 100644
--- a/paging/common/api/current.txt
+++ b/paging/common/api/current.txt
@@ -279,23 +279,26 @@
   public abstract static sealed class PagingSource.LoadParams<Key> {
     method public abstract Key? getKey();
     method public final int getLoadSize();
-    method public final int getPageSize();
+    method @Deprecated public final int getPageSize();
     method public final boolean getPlaceholdersEnabled();
     property public abstract Key? key;
   }
 
   public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
     method public Key? getKey();
   }
 
diff --git a/paging/common/api/public_plus_experimental_3.0.0-alpha01.txt b/paging/common/api/public_plus_experimental_3.0.0-alpha01.txt
index 81fa647..4745aeb 100644
--- a/paging/common/api/public_plus_experimental_3.0.0-alpha01.txt
+++ b/paging/common/api/public_plus_experimental_3.0.0-alpha01.txt
@@ -279,23 +279,26 @@
   public abstract static sealed class PagingSource.LoadParams<Key> {
     method public abstract Key? getKey();
     method public final int getLoadSize();
-    method public final int getPageSize();
+    method @Deprecated public final int getPageSize();
     method public final boolean getPlaceholdersEnabled();
     property public abstract Key? key;
   }
 
   public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
     method public Key? getKey();
   }
 
diff --git a/paging/common/api/public_plus_experimental_current.txt b/paging/common/api/public_plus_experimental_current.txt
index 81fa647..4745aeb 100644
--- a/paging/common/api/public_plus_experimental_current.txt
+++ b/paging/common/api/public_plus_experimental_current.txt
@@ -279,23 +279,26 @@
   public abstract static sealed class PagingSource.LoadParams<Key> {
     method public abstract Key? getKey();
     method public final int getLoadSize();
-    method public final int getPageSize();
+    method @Deprecated public final int getPageSize();
     method public final boolean getPlaceholdersEnabled();
     property public abstract Key? key;
   }
 
   public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
     method public Key? getKey();
   }
 
diff --git a/paging/common/api/restricted_3.0.0-alpha01.txt b/paging/common/api/restricted_3.0.0-alpha01.txt
index 81fa647..4745aeb 100644
--- a/paging/common/api/restricted_3.0.0-alpha01.txt
+++ b/paging/common/api/restricted_3.0.0-alpha01.txt
@@ -279,23 +279,26 @@
   public abstract static sealed class PagingSource.LoadParams<Key> {
     method public abstract Key? getKey();
     method public final int getLoadSize();
-    method public final int getPageSize();
+    method @Deprecated public final int getPageSize();
     method public final boolean getPlaceholdersEnabled();
     property public abstract Key? key;
   }
 
   public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
     method public Key? getKey();
   }
 
diff --git a/paging/common/api/restricted_current.txt b/paging/common/api/restricted_current.txt
index 81fa647..4745aeb 100644
--- a/paging/common/api/restricted_current.txt
+++ b/paging/common/api/restricted_current.txt
@@ -279,23 +279,26 @@
   public abstract static sealed class PagingSource.LoadParams<Key> {
     method public abstract Key? getKey();
     method public final int getLoadSize();
-    method public final int getPageSize();
+    method @Deprecated public final int getPageSize();
     method public final boolean getPlaceholdersEnabled();
     property public abstract Key? key;
   }
 
   public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
     method public Key getKey();
   }
 
   public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
     ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
+    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
     method public Key? getKey();
   }
 
diff --git a/paging/common/src/main/kotlin/androidx/paging/LegacyPagingSource.kt b/paging/common/src/main/kotlin/androidx/paging/LegacyPagingSource.kt
index 7ab9b0c..7ccfde1 100644
--- a/paging/common/src/main/kotlin/androidx/paging/LegacyPagingSource.kt
+++ b/paging/common/src/main/kotlin/androidx/paging/LegacyPagingSource.kt
@@ -50,6 +50,7 @@
             params.key,
             params.loadSize,
             params.placeholdersEnabled,
+            @Suppress("DEPRECATION")
             params.pageSize
         )
 
diff --git a/paging/common/src/main/kotlin/androidx/paging/PagingDataDiffer.kt b/paging/common/src/main/kotlin/androidx/paging/PagingDataDiffer.kt
index 183140d..3bb1c31 100644
--- a/paging/common/src/main/kotlin/androidx/paging/PagingDataDiffer.kt
+++ b/paging/common/src/main/kotlin/androidx/paging/PagingDataDiffer.kt
@@ -101,6 +101,14 @@
         return presenter.get(index)
     }
 
+    /**
+     * Retry any failed load requests that would result in a [LoadState.Error] update to this
+     * [PagingDataDiffer].
+     *
+     * [LoadState.Error] can be generated from two types of load requests:
+     *  * [PagingSource.load] returning [PagingSource.LoadResult.Error]
+     *  * [RemoteMediator.load] returning [RemoteMediator.MediatorResult.Error]
+     */
     fun retry() {
         receiver?.retry()
     }
diff --git a/paging/common/src/main/kotlin/androidx/paging/PagingSource.kt b/paging/common/src/main/kotlin/androidx/paging/PagingSource.kt
index 8f876fc..ba52a8b 100644
--- a/paging/common/src/main/kotlin/androidx/paging/PagingSource.kt
+++ b/paging/common/src/main/kotlin/androidx/paging/PagingSource.kt
@@ -77,7 +77,7 @@
     /**
      * Params for a load request on a [PagingSource] from [PagingSource.load].
      */
-    sealed class LoadParams<Key : Any>(
+    sealed class LoadParams<Key : Any> constructor(
         /**
          * Requested number of items to load.
          *
@@ -94,14 +94,19 @@
         /**
          * From [PagingConfig.pageSize], the configured page size.
          */
-        val pageSize: Int
+        @Deprecated(
+            message = "PagingConfig.pageSize will be removed in future versions, use " +
+                    "PagingConfig.loadSize instead.",
+            replaceWith = ReplaceWith("loadSize")
+        )
+        val pageSize: Int = loadSize
     ) {
         /**
          * Key for the page to be loaded.
          */
         abstract val key: Key?
 
-        class Refresh<Key : Any>(
+        class Refresh<Key : Any> @JvmOverloads constructor(
             /**
              * Key for the page to be loaded.
              *
@@ -127,14 +132,14 @@
             /**
              * From [PagingConfig.pageSize], the configured page size.
              */
-            pageSize: Int
+            pageSize: Int = loadSize
         ) : LoadParams<Key>(
             loadSize = loadSize,
             placeholdersEnabled = placeholdersEnabled,
             pageSize = pageSize
         )
 
-        class Append<Key : Any>(
+        class Append<Key : Any> @JvmOverloads constructor(
             /**
              * Key for the page to be loaded.
              */
@@ -155,14 +160,14 @@
             /**
              * From [PagingConfig.pageSize], the configured page size.
              */
-            pageSize: Int
+            pageSize: Int = loadSize
         ) : LoadParams<Key>(
             loadSize = loadSize,
             placeholdersEnabled = placeholdersEnabled,
             pageSize = pageSize
         )
 
-        class Prepend<Key : Any>(
+        class Prepend<Key : Any> @JvmOverloads constructor(
             /**
              * Key for the page to be loaded.
              */
@@ -183,7 +188,7 @@
             /**
              * From [PagingConfig.pageSize], the configured page size.
              */
-            pageSize: Int
+            pageSize: Int = loadSize
         ) : LoadParams<Key>(
             loadSize = loadSize,
             placeholdersEnabled = placeholdersEnabled,
diff --git a/paging/common/src/test/kotlin/androidx/paging/CachingTest.kt b/paging/common/src/test/kotlin/androidx/paging/CachingTest.kt
index 4850cc1..30dedd4 100644
--- a/paging/common/src/test/kotlin/androidx/paging/CachingTest.kt
+++ b/paging/common/src/test/kotlin/androidx/paging/CachingTest.kt
@@ -380,7 +380,7 @@
                     )
                 }
                 is LoadParams.Prepend -> {
-                    val loadSize = minOf(params.key, params.pageSize)
+                    val loadSize = minOf(params.key, params.loadSize)
                     return doLoad(
                         position = params.key - params.loadSize,
                         size = loadSize
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt
index 0cdddba..a59f562 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/custom/ItemDataSource.kt
@@ -46,7 +46,7 @@
                     loadSize = params.loadSize
                 )
             is LoadParams.Prepend -> {
-                val loadSize = minOf(params.key, params.pageSize)
+                val loadSize = minOf(params.key, params.loadSize)
                 loadInternal(
                     position = params.key - loadSize,
                     loadSize = loadSize
diff --git a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt
index b7a5340..f09b3bd 100644
--- a/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt
+++ b/paging/integration-tests/testapp/src/main/java/androidx/paging/integration/testapp/v3/ItemPagingSource.kt
@@ -46,7 +46,7 @@
                     loadSize = params.loadSize
                 )
             is LoadParams.Prepend -> {
-                val loadSize = minOf(params.key, params.pageSize)
+                val loadSize = minOf(params.key, params.loadSize)
                 loadInternal(
                     position = params.key - loadSize,
                     loadSize = loadSize
diff --git a/paging/runtime/api/3.0.0-alpha01.txt b/paging/runtime/api/3.0.0-alpha01.txt
index 6382175..7b9dd58 100644
--- a/paging/runtime/api/3.0.0-alpha01.txt
+++ b/paging/runtime/api/3.0.0-alpha01.txt
@@ -23,17 +23,17 @@
     method @Deprecated public void onCurrentListChanged(androidx.paging.PagedList<T>? previousList, androidx.paging.PagedList<T>? currentList);
   }
 
-  public class AsyncPagingDataDiffer<T> {
+  public final class AsyncPagingDataDiffer<T> {
     ctor public AsyncPagingDataDiffer(kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public T? getItem(int index);
     method public int getItemCount();
-    method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
-    method public final void refresh();
+    method public suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void refresh();
     method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method public final void retry();
-    method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
-    property public int itemCount;
+    method public void retry();
+    method public void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
+    property public final int itemCount;
   }
 
   public final class LivePagedListBuilder<Key, Value> {
@@ -93,13 +93,13 @@
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method protected T? getItem(int position);
+    method public final void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method protected final T? getItem(int position);
     method public int getItemCount();
     method public final long getItemId(int position);
     method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final void refresh();
-    method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method public final void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public final void retry();
     method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
     method public final androidx.recyclerview.widget.MergeAdapter withLoadStateFooter(androidx.paging.LoadStateAdapter<?> footer);
diff --git a/paging/runtime/api/current.txt b/paging/runtime/api/current.txt
index 6382175..7b9dd58 100644
--- a/paging/runtime/api/current.txt
+++ b/paging/runtime/api/current.txt
@@ -23,17 +23,17 @@
     method @Deprecated public void onCurrentListChanged(androidx.paging.PagedList<T>? previousList, androidx.paging.PagedList<T>? currentList);
   }
 
-  public class AsyncPagingDataDiffer<T> {
+  public final class AsyncPagingDataDiffer<T> {
     ctor public AsyncPagingDataDiffer(kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public T? getItem(int index);
     method public int getItemCount();
-    method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
-    method public final void refresh();
+    method public suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void refresh();
     method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method public final void retry();
-    method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
-    property public int itemCount;
+    method public void retry();
+    method public void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
+    property public final int itemCount;
   }
 
   public final class LivePagedListBuilder<Key, Value> {
@@ -93,13 +93,13 @@
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method protected T? getItem(int position);
+    method public final void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method protected final T? getItem(int position);
     method public int getItemCount();
     method public final long getItemId(int position);
     method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final void refresh();
-    method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method public final void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public final void retry();
     method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
     method public final androidx.recyclerview.widget.MergeAdapter withLoadStateFooter(androidx.paging.LoadStateAdapter<?> footer);
diff --git a/paging/runtime/api/public_plus_experimental_3.0.0-alpha01.txt b/paging/runtime/api/public_plus_experimental_3.0.0-alpha01.txt
index 6382175..7b9dd58 100644
--- a/paging/runtime/api/public_plus_experimental_3.0.0-alpha01.txt
+++ b/paging/runtime/api/public_plus_experimental_3.0.0-alpha01.txt
@@ -23,17 +23,17 @@
     method @Deprecated public void onCurrentListChanged(androidx.paging.PagedList<T>? previousList, androidx.paging.PagedList<T>? currentList);
   }
 
-  public class AsyncPagingDataDiffer<T> {
+  public final class AsyncPagingDataDiffer<T> {
     ctor public AsyncPagingDataDiffer(kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public T? getItem(int index);
     method public int getItemCount();
-    method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
-    method public final void refresh();
+    method public suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void refresh();
     method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method public final void retry();
-    method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
-    property public int itemCount;
+    method public void retry();
+    method public void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
+    property public final int itemCount;
   }
 
   public final class LivePagedListBuilder<Key, Value> {
@@ -93,13 +93,13 @@
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method protected T? getItem(int position);
+    method public final void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method protected final T? getItem(int position);
     method public int getItemCount();
     method public final long getItemId(int position);
     method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final void refresh();
-    method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method public final void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public final void retry();
     method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
     method public final androidx.recyclerview.widget.MergeAdapter withLoadStateFooter(androidx.paging.LoadStateAdapter<?> footer);
diff --git a/paging/runtime/api/public_plus_experimental_current.txt b/paging/runtime/api/public_plus_experimental_current.txt
index 6382175..7b9dd58 100644
--- a/paging/runtime/api/public_plus_experimental_current.txt
+++ b/paging/runtime/api/public_plus_experimental_current.txt
@@ -23,17 +23,17 @@
     method @Deprecated public void onCurrentListChanged(androidx.paging.PagedList<T>? previousList, androidx.paging.PagedList<T>? currentList);
   }
 
-  public class AsyncPagingDataDiffer<T> {
+  public final class AsyncPagingDataDiffer<T> {
     ctor public AsyncPagingDataDiffer(kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public T? getItem(int index);
     method public int getItemCount();
-    method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
-    method public final void refresh();
+    method public suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void refresh();
     method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method public final void retry();
-    method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
-    property public int itemCount;
+    method public void retry();
+    method public void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
+    property public final int itemCount;
   }
 
   public final class LivePagedListBuilder<Key, Value> {
@@ -93,13 +93,13 @@
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method protected T? getItem(int position);
+    method public final void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method protected final T? getItem(int position);
     method public int getItemCount();
     method public final long getItemId(int position);
     method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final void refresh();
-    method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method public final void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public final void retry();
     method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
     method public final androidx.recyclerview.widget.MergeAdapter withLoadStateFooter(androidx.paging.LoadStateAdapter<?> footer);
diff --git a/paging/runtime/api/restricted_3.0.0-alpha01.txt b/paging/runtime/api/restricted_3.0.0-alpha01.txt
index 6382175..7b9dd58 100644
--- a/paging/runtime/api/restricted_3.0.0-alpha01.txt
+++ b/paging/runtime/api/restricted_3.0.0-alpha01.txt
@@ -23,17 +23,17 @@
     method @Deprecated public void onCurrentListChanged(androidx.paging.PagedList<T>? previousList, androidx.paging.PagedList<T>? currentList);
   }
 
-  public class AsyncPagingDataDiffer<T> {
+  public final class AsyncPagingDataDiffer<T> {
     ctor public AsyncPagingDataDiffer(kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public T? getItem(int index);
     method public int getItemCount();
-    method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
-    method public final void refresh();
+    method public suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void refresh();
     method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method public final void retry();
-    method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
-    property public int itemCount;
+    method public void retry();
+    method public void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
+    property public final int itemCount;
   }
 
   public final class LivePagedListBuilder<Key, Value> {
@@ -93,13 +93,13 @@
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method protected T? getItem(int position);
+    method public final void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method protected final T? getItem(int position);
     method public int getItemCount();
     method public final long getItemId(int position);
     method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final void refresh();
-    method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method public final void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public final void retry();
     method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
     method public final androidx.recyclerview.widget.MergeAdapter withLoadStateFooter(androidx.paging.LoadStateAdapter<?> footer);
diff --git a/paging/runtime/api/restricted_current.txt b/paging/runtime/api/restricted_current.txt
index 6382175..7b9dd58 100644
--- a/paging/runtime/api/restricted_current.txt
+++ b/paging/runtime/api/restricted_current.txt
@@ -23,17 +23,17 @@
     method @Deprecated public void onCurrentListChanged(androidx.paging.PagedList<T>? previousList, androidx.paging.PagedList<T>? currentList);
   }
 
-  public class AsyncPagingDataDiffer<T> {
+  public final class AsyncPagingDataDiffer<T> {
     ctor public AsyncPagingDataDiffer(kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher, androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, androidx.recyclerview.widget.ListUpdateCallback updateCallback);
     method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public T? getItem(int index);
     method public int getItemCount();
-    method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
-    method public final void refresh();
+    method public suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public void refresh();
     method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method public final void retry();
-    method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
-    property public int itemCount;
+    method public void retry();
+    method public void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
+    property public final int itemCount;
   }
 
   public final class LivePagedListBuilder<Key, Value> {
@@ -93,13 +93,13 @@
 
   public abstract class PagingDataAdapter<T, VH extends androidx.recyclerview.widget.RecyclerView.ViewHolder> extends androidx.recyclerview.widget.RecyclerView.Adapter<VH> {
     ctor public PagingDataAdapter(androidx.recyclerview.widget.DiffUtil.ItemCallback<T> diffCallback, kotlinx.coroutines.CoroutineDispatcher mainDispatcher, kotlinx.coroutines.CoroutineDispatcher workerDispatcher);
-    method public void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
-    method protected T? getItem(int position);
+    method public final void addLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method protected final T? getItem(int position);
     method public int getItemCount();
     method public final long getItemId(int position);
     method public final suspend Object? presentData(androidx.paging.PagingData<T> pagingData, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
     method public final void refresh();
-    method public void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
+    method public final void removeLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
     method public final void retry();
     method public final void submitData(androidx.lifecycle.Lifecycle lifecycle, androidx.paging.PagingData<T> pagingData);
     method public final androidx.recyclerview.widget.MergeAdapter withLoadStateFooter(androidx.paging.LoadStateAdapter<?> footer);
diff --git a/paging/runtime/src/androidTest/java/androidx/paging/LivePagedListBuilderTest.kt b/paging/runtime/src/androidTest/java/androidx/paging/LivePagedListBuilderTest.kt
index 4604928..b73f6ce 100644
--- a/paging/runtime/src/androidTest/java/androidx/paging/LivePagedListBuilderTest.kt
+++ b/paging/runtime/src/androidTest/java/androidx/paging/LivePagedListBuilderTest.kt
@@ -103,6 +103,7 @@
             }
 
             private fun loadInitial(params: LoadParams<Int>): LoadResult<Int, String> {
+                @Suppress("DEPRECATION")
                 assertEquals(2, params.pageSize)
 
                 throwable?.let { error ->
diff --git a/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt b/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
index bcbc669..ff09309 100644
--- a/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
+++ b/paging/runtime/src/main/java/androidx/paging/AsyncPagingDataDiffer.kt
@@ -19,8 +19,8 @@
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.coroutineScope
 import androidx.paging.LoadType.APPEND
-import androidx.paging.LoadType.REFRESH
 import androidx.paging.LoadType.PREPEND
+import androidx.paging.LoadType.REFRESH
 import androidx.recyclerview.widget.DiffUtil
 import androidx.recyclerview.widget.ListUpdateCallback
 import kotlinx.coroutines.CoroutineDispatcher
@@ -33,7 +33,7 @@
 import java.util.concurrent.CopyOnWriteArrayList
 import java.util.concurrent.atomic.AtomicReference
 
-open class AsyncPagingDataDiffer<T : Any>(
+class AsyncPagingDataDiffer<T : Any>(
     private val mainDispatcher: CoroutineDispatcher = Dispatchers.Main,
     private val workerDispatcher: CoroutineDispatcher = Dispatchers.Default,
     private val diffCallback: DiffUtil.ItemCallback<T>,
@@ -156,6 +156,14 @@
         newJob.start()
     }
 
+    /**
+     * Retry any failed load requests that would result in a [LoadState.Error] update to this
+     * [AsyncPagingDataDiffer].
+     *
+     * [LoadState.Error] can be generated from two types of load requests:
+     *  * [PagingSource.load] returning [PagingSource.LoadResult.Error]
+     *  * [RemoteMediator.load] returning [RemoteMediator.MediatorResult.Error]
+     */
     fun retry() {
         differBase.retry()
     }
@@ -172,7 +180,7 @@
      * @param index Index of item to get, must be >= 0, and < [itemCount]
      * @return The item, or null, if a null placeholder is at the specified position.
      */
-    open fun getItem(index: Int): T? {
+    fun getItem(index: Int): T? {
         try {
             inGetItem = true
             return differBase[index]
@@ -187,7 +195,7 @@
      *
      * @return Number of items being presented.
      */
-    open val itemCount: Int
+    val itemCount: Int
         get() = differBase.size
 
     internal val loadStateListeners: MutableList<(LoadType, LoadState) -> Unit> =
@@ -209,7 +217,7 @@
      *
      * @see removeLoadStateListener
      */
-    open fun addLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
+    fun addLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
         // Note: Important to add the listener first before sending off events, in case the
         // callback triggers removal, which could lead to a leak if the listener is added
         // afterwards.
@@ -225,7 +233,7 @@
      * @param listener Previously registered listener.
      * @see addLoadStateListener
      */
-    open fun removeLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
+    fun removeLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
         loadStateListeners.remove(listener)
     }
 }
\ No newline at end of file
diff --git a/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt b/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt
index 680505c..6e986b2 100644
--- a/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt
+++ b/paging/runtime/src/main/java/androidx/paging/PagingDataAdapter.kt
@@ -100,6 +100,14 @@
         differ.submitData(lifecycle, pagingData)
     }
 
+    /**
+     * Retry any failed load requests that would result in a [LoadState.Error] update to this
+     * [PagingDataAdapter].
+     *
+     * [LoadState.Error] can be generated from two types of load requests:
+     *  * [PagingSource.load] returning [PagingSource.LoadResult.Error]
+     *  * [RemoteMediator.load] returning [RemoteMediator.MediatorResult.Error]
+     */
     fun retry() {
         differ.retry()
     }
@@ -108,7 +116,7 @@
         differ.refresh()
     }
 
-    protected open fun getItem(position: Int) = differ.getItem(position)
+    protected fun getItem(position: Int) = differ.getItem(position)
 
     override fun getItemCount() = differ.itemCount
 
@@ -122,7 +130,7 @@
      *
      * @see removeLoadStateListener
      */
-    open fun addLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
+    fun addLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
         differ.addLoadStateListener(listener)
     }
 
@@ -132,7 +140,7 @@
      * @param listener Previously registered listener.
      * @see addLoadStateListener
      */
-    open fun removeLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
+    fun removeLoadStateListener(listener: (LoadType, LoadState) -> Unit) {
         differ.removeLoadStateListener(listener)
     }
 
diff --git a/paging/rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt b/paging/rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
index 9ea4c87..abedb34 100644
--- a/paging/rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
+++ b/paging/rxjava2/src/test/java/androidx/paging/RxPagedListBuilderTest.kt
@@ -68,6 +68,7 @@
             }
 
             private fun loadInitial(params: LoadParams<Int>): LoadResult<Int, String> {
+                @Suppress("DEPRECATION")
                 assertEquals(2, params.pageSize)
 
                 throwable?.let { error ->
diff --git a/playground/gradle.properties b/playground/gradle.properties
index 1735152..073f5f4 100644
--- a/playground/gradle.properties
+++ b/playground/gradle.properties
@@ -34,4 +34,8 @@
 # Automatically convert third-party libraries to use AndroidX
 android.enableJetifier=true
 # Kotlin code style for this project: "official" or "obsolete":
-kotlin.code.style=official
\ No newline at end of file
+kotlin.code.style=official
+# Disable docs
+androidx.enableDocumentation=false
+# Disable coverage
+androidx.coverageEnabled=false
diff --git a/playground/settings.gradle b/playground/settings.gradle
index 6a2472b..0b13998 100644
--- a/playground/settings.gradle
+++ b/playground/settings.gradle
@@ -53,9 +53,3 @@
 includeProject(":mppsample:mppsample-executable", "../mppsample/mppsample-executable")
 includeProject(":tracing:tracing", "../tracing/tracing")
 includeProject(":tracing:tracing-ktx", "../tracing/tracing-ktx")
-
-if (!startParameter.projectProperties.containsKey('android.injected.invoked.from.ide')) {
-    // we don't need it in ide, so we don't configure it there
-    includeProject(":docs-fake", "../docs-fake")
-    includeProject(":docs-runner", "../docs-runner")
-}
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt
index 7a6a5ff..12a8a44 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindReferenceChildTest.kt
@@ -124,11 +124,11 @@
         internal override fun findReferenceChild(
             recycler: RecyclerView.Recycler?,
             state: RecyclerView.State?,
-            start: Int,
-            end: Int,
-            itemCount: Int
+            layoutFromEnd: Boolean,
+            traverseChildrenInReverseOrder: Boolean
         ): View {
-            val referenceChild = super.findReferenceChild(recycler, state, start, end, itemCount)
+            val referenceChild = super
+                .findReferenceChild(recycler, state, layoutFromEnd, traverseChildrenInReverseOrder)
             recordedReferenceChildren.add(getPosition(referenceChild))
             return referenceChild
         }
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt
index e7e0f73..5476284 100644
--- a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerFindZeroPxReferenceChildTest.kt
@@ -157,11 +157,11 @@
         internal override fun findReferenceChild(
             recycler: RecyclerView.Recycler?,
             state: RecyclerView.State?,
-            start: Int,
-            end: Int,
-            itemCount: Int
+            layoutFromEnd: Boolean,
+            traverseChildrenInReverseOrder: Boolean
         ): View {
-            val referenceChild = super.findReferenceChild(recycler, state, start, end, itemCount)
+            val referenceChild = super
+                .findReferenceChild(recycler, state, layoutFromEnd, traverseChildrenInReverseOrder)
             recordedReferenceChildren.add(getPosition(referenceChild))
             return referenceChild
         }
diff --git a/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerRemoveShownItemsTest.kt b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerRemoveShownItemsTest.kt
new file mode 100644
index 0000000..7dbbc0af
--- /dev/null
+++ b/recyclerview/recyclerview/src/androidTest/java/androidx/recyclerview/widget/LinearLayoutManagerRemoveShownItemsTest.kt
@@ -0,0 +1,204 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.recyclerview.widget
+
+import android.content.Context
+import androidx.recyclerview.widget.RecyclerView.HORIZONTAL
+import androidx.recyclerview.widget.RecyclerView.VERTICAL
+import androidx.test.filters.MediumTest
+import org.junit.Assert.assertEquals
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+
+/**
+ * Tests that we're looking at the right item(s) after removing the current item(s) in the case
+ * where all item views have the same size as RecyclerViews view port.
+ */
+
+@MediumTest
+@RunWith(Parameterized::class)
+class LinearLayoutManagerRemoveShownItemsTest(
+    private val config: Config,
+    private val extraLayoutSpaceItems: Int
+) : BaseLinearLayoutManagerTest() {
+
+    companion object {
+        @JvmStatic
+        @Parameterized.Parameters(name = "{0},extraLayoutSpaceItems={1}")
+        fun spec(): List<Array<Any>> =
+            listOf(VERTICAL, HORIZONTAL).flatMap { orientation ->
+                listOf(false, true).flatMap { stackFromEnd ->
+                    listOf(false, true).flatMap { reverseLayout ->
+                        listOf(0, 1, 2).map { extraLayoutSpaceItems ->
+                            arrayOf(
+                                Config(orientation, reverseLayout, stackFromEnd).apply {
+                                    mItemCount = Config.DEFAULT_ITEM_COUNT
+                                },
+                                extraLayoutSpaceItems
+                            )
+                        }
+                    }
+                }
+            }
+    }
+
+    /**
+     * 1 item removed.
+     * Middle of the set of items.
+     */
+    @Test
+    fun notifyItemRangeRemoved_1_onlyCorrectItemVisible() {
+        val llm = MyLayoutManager(activity, 500)
+        config.mTestLayoutManager = llm
+        setupByConfig(
+            config,
+            true,
+            RecyclerView.LayoutParams(500, 500),
+            RecyclerView.LayoutParams(500, 500)
+        )
+
+        val startingAdapterPosition = 10 // Item with label 11
+
+        // Expected behavior when removing the shown view is
+        // that the view(s) after it are moved into the gap.
+        val expectedResultingAdapterPosition =
+            startingAdapterPosition - if (config.mStackFromEnd) 1 else 0
+
+        // Given an RV showing the 11th view that is as big as RV itself ..
+        mLayoutManager.expectLayouts(1)
+        scrollToPosition(startingAdapterPosition)
+        mLayoutManager.waitForLayout(2)
+
+        // .. when we remove that view ..
+        mLayoutManager.expectLayouts(2)
+        mTestAdapter.deleteAndNotify(startingAdapterPosition, 1)
+        mLayoutManager.waitForLayout(2)
+
+        // .. then the views after the removed view are moved into the gap
+        assertEquals(expectedResultingAdapterPosition, llm.findFirstVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findFirstCompletelyVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findLastCompletelyVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findLastVisibleItemPosition())
+    }
+
+    /**
+     * 2 items removed.
+     * Middle of the set of items.
+     */
+    @Test
+    fun notifyItemRangeRemoved_2_onlyCorrectItemsVisible() {
+        val llm = MyLayoutManager(activity, 500)
+        config.mTestLayoutManager = llm
+        val rvLayoutParams =
+            if (config.mOrientation == VERTICAL) {
+                RecyclerView.LayoutParams(500, 1000)
+            } else {
+                RecyclerView.LayoutParams(1000, 500)
+            }
+        setupByConfig(
+            config,
+            true,
+            RecyclerView.LayoutParams(500, 500),
+            rvLayoutParams
+        )
+
+        val startingAdapterPosition = 10 // Items 10 and 11 (with labels 11 and 12) will show.
+
+        // Expected behavior when removing the shown view is
+        // that the view(s) after it are moved into the gap.
+        val expectedResultingAdapterPosition =
+            startingAdapterPosition - if (config.mStackFromEnd) 2 else 0
+
+        // This will make sure that items 10 and 11 are shown
+        val adapterPositionToScrollTo = startingAdapterPosition + if (config.mStackFromEnd) 0 else 1
+        mLayoutManager.expectLayouts(1)
+        scrollToPosition(adapterPositionToScrollTo)
+        mLayoutManager.waitForLayout(2)
+
+        // .. when we remove that view ..
+        mLayoutManager.expectLayouts(2)
+        mTestAdapter.deleteAndNotify(startingAdapterPosition, 2)
+        mLayoutManager.waitForLayout(2)
+
+        // .. then the views after the removed view are moved into the gap
+        assertEquals(expectedResultingAdapterPosition, llm.findFirstVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findFirstCompletelyVisibleItemPosition())
+        assertEquals(
+            expectedResultingAdapterPosition + 1,
+            llm.findLastCompletelyVisibleItemPosition()
+        )
+        assertEquals(expectedResultingAdapterPosition + 1, llm.findLastVisibleItemPosition())
+    }
+
+    /**
+     * All attached items removed.
+     * Middle of the set of items.
+     */
+    @Test
+    fun notifyItemRangeRemoved_all_onlyCorrectItemVisible() {
+        val llm = MyLayoutManager(activity, 500)
+        config.mTestLayoutManager = llm
+        setupByConfig(
+            config,
+            true,
+            RecyclerView.LayoutParams(500, 500),
+            RecyclerView.LayoutParams(500, 500)
+        )
+
+        val startingAdapterPosition = 10 // Item with label 11
+
+        // Expected behavior when removing the shown view is
+        // that the view(s) after it are moved into the gap.
+        val expectedResultingAdapterPosition =
+            (startingAdapterPosition - extraLayoutSpaceItems) - if (config.mStackFromEnd) 1 else 0
+
+        // Given an RV showing the 11th view that is as big as RV itself ..
+        mLayoutManager.expectLayouts(1)
+        scrollToPosition(startingAdapterPosition)
+        mLayoutManager.waitForLayout(2)
+
+        // .. when we remove all laid out items ..
+        val removeFrom = llm.run { List(childCount) { getPosition(getChildAt(it)!!) }.min() }!!
+        mLayoutManager.expectLayouts(2)
+        mTestAdapter.deleteAndNotify(removeFrom, llm.childCount)
+        mLayoutManager.waitForLayout(2)
+
+        // .. then the views after the removed view are moved into the gap
+        assertEquals(expectedResultingAdapterPosition, llm.findFirstVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findFirstCompletelyVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findLastCompletelyVisibleItemPosition())
+        assertEquals(expectedResultingAdapterPosition, llm.findLastVisibleItemPosition())
+    }
+
+    private inner class MyLayoutManager internal constructor(context: Context, val itemSize: Int) :
+        WrappedLinearLayoutManager(context, config.mOrientation, config.mReverseLayout) {
+
+        override fun calculateExtraLayoutSpace(
+            state: RecyclerView.State,
+            extraLayoutSpace: IntArray
+        ) {
+            when (extraLayoutSpaceItems) {
+                0 -> super.calculateExtraLayoutSpace(state, extraLayoutSpace)
+                else -> {
+                    extraLayoutSpace[0] = itemSize * extraLayoutSpaceItems
+                    extraLayoutSpace[1] = itemSize * extraLayoutSpaceItems
+                }
+            }
+        }
+    }
+}
diff --git a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/GridLayoutManager.java b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/GridLayoutManager.java
index 370b43c..428c779 100644
--- a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/GridLayoutManager.java
+++ b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/GridLayoutManager.java
@@ -417,13 +417,25 @@
 
     @Override
     View findReferenceChild(RecyclerView.Recycler recycler, RecyclerView.State state,
-                            int start, int end, int itemCount) {
+            boolean layoutFromEnd, boolean traverseChildrenInReverseOrder) {
+
+        int start = 0;
+        int end = getChildCount();
+        int diff = 1;
+        if (traverseChildrenInReverseOrder) {
+            start = getChildCount() - 1;
+            end = -1;
+            diff = -1;
+        }
+
+        int itemCount = state.getItemCount();
+
         ensureLayoutState();
         View invalidMatch = null;
         View outOfBoundsMatch = null;
+
         final int boundsStart = mOrientationHelper.getStartAfterPadding();
         final int boundsEnd = mOrientationHelper.getEndAfterPadding();
-        final int diff = end > start ? 1 : -1;
 
         for (int i = start; i != end; i += diff) {
             final View view = getChildAt(i);
diff --git a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java
index cd4f240..536e47c 100644
--- a/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java
+++ b/recyclerview/recyclerview/src/main/java/androidx/recyclerview/widget/LinearLayoutManager.java
@@ -130,9 +130,9 @@
     SavedState mPendingSavedState = null;
 
     /**
-     *  Re-used variable to keep anchor information on re-layout.
-     *  Anchor position and coordinate defines the reference point for LLM while doing a layout.
-     * */
+     * Re-used variable to keep anchor information on re-layout.
+     * Anchor position and coordinate defines the reference point for LLM while doing a layout.
+     */
     final AnchorInfo mAnchorInfo = new AnchorInfo();
 
     /**
@@ -442,7 +442,7 @@
      * enough to handle it.</p>
      *
      * @return The extra space that should be laid out (in pixels).
-     * @deprecated  Use {@link #calculateExtraLayoutSpace(RecyclerView.State, int[])} instead.
+     * @deprecated Use {@link #calculateExtraLayoutSpace(RecyclerView.State, int[])} instead.
      */
     @SuppressWarnings("DeprecatedIsStillUsed")
     @Deprecated
@@ -561,7 +561,7 @@
             updateAnchorInfoForLayout(recycler, state, mAnchorInfo);
             mAnchorInfo.mValid = true;
         } else if (focused != null && (mOrientationHelper.getDecoratedStart(focused)
-                        >= mOrientationHelper.getEndAfterPadding()
+                >= mOrientationHelper.getEndAfterPadding()
                 || mOrientationHelper.getDecoratedEnd(focused)
                 <= mOrientationHelper.getStartAfterPadding())) {
             // This case relates to when the anchor child is the focused view and due to layout
@@ -735,9 +735,10 @@
     /**
      * Method called when Anchor position is decided. Extending class can setup accordingly or
      * even update anchor info if necessary.
-     * @param recycler The recycler for the layout
-     * @param state The layout state
-     * @param anchorInfo The mutable POJO that keeps the position and offset.
+     *
+     * @param recycler                 The recycler for the layout
+     * @param state                    The layout state
+     * @param anchorInfo               The mutable POJO that keeps the position and offset.
      * @param firstLayoutItemDirection The direction of the first layout filling in terms of adapter
      *                                 indices.
      */
@@ -755,7 +756,7 @@
         // and layout them accordingly so that animations can work as expected.
         // This case may happen if new views are added or an existing view expands and pushes
         // another view out of bounds.
-        if (!state.willRunPredictiveAnimations() ||  getChildCount() == 0 || state.isPreLayout()
+        if (!state.willRunPredictiveAnimations() || getChildCount() == 0 || state.isPreLayout()
                 || !supportsPredictiveItemAnimations()) {
             return;
         }
@@ -845,9 +846,12 @@
         if (mLastStackFromEnd != mStackFromEnd) {
             return false;
         }
-        View referenceChild = anchorInfo.mLayoutFromEnd
-                ? findReferenceChildClosestToEnd(recycler, state)
-                : findReferenceChildClosestToStart(recycler, state);
+        View referenceChild =
+                findReferenceChild(
+                        recycler,
+                        state,
+                        anchorInfo.mLayoutFromEnd,
+                        mStackFromEnd);
         if (referenceChild != null) {
             anchorInfo.assignFromView(referenceChild, getPosition(referenceChild));
             // If all visible views are removed in 1 pass, reference child might be out of bounds.
@@ -860,9 +864,9 @@
                 final int boundsEnd = mOrientationHelper.getEndAfterPadding();
                 // b/148869110: usually if childStart >= boundsEnd the child is out of
                 // bounds, except if the child is 0 pixels!
-                final boolean notVisible = (childStart >= boundsEnd && childEnd > boundsEnd)
-                        || (childEnd <= boundsStart && childStart < boundsStart);
-                if (notVisible) {
+                boolean outOfBoundsBefore = childEnd <= boundsStart && childStart < boundsStart;
+                boolean outOfBoundsAfter = childStart >= boundsEnd && childEnd > boundsEnd;
+                if (outOfBoundsBefore || outOfBoundsAfter) {
                     anchorInfo.mCoordinate = anchorInfo.mLayoutFromEnd ? boundsEnd : boundsStart;
                 }
             }
@@ -1181,7 +1185,7 @@
         return ScrollbarHelper.computeScrollExtent(state, mOrientationHelper,
                 findFirstVisibleChildClosestToStart(!mSmoothScrollbarEnabled, true),
                 findFirstVisibleChildClosestToEnd(!mSmoothScrollbarEnabled, true),
-                this,  mSmoothScrollbarEnabled);
+                this, mSmoothScrollbarEnabled);
     }
 
     private int computeScrollRange(RecyclerView.State state) {
@@ -1209,7 +1213,6 @@
      * with varying widths / heights.
      *
      * @param enabled Whether or not to enable smooth scrollbar.
-     *
      * @see #setSmoothScrollbarEnabled(boolean)
      */
     public void setSmoothScrollbarEnabled(boolean enabled) {
@@ -1220,7 +1223,6 @@
      * Returns the current state of the smooth scrollbar feature. It is enabled by default.
      *
      * @return True if smooth scrollbar is enabled, false otherwise.
-     *
      * @see #setSmoothScrollbarEnabled(boolean)
      */
     public boolean isSmoothScrollbarEnabled() {
@@ -1341,7 +1343,6 @@
      * the number of Views created and in active use.</p>
      *
      * @param itemCount Number of items to prefetch
-     *
      * @see #isItemPrefetchEnabled()
      * @see #getInitialPrefetchItemCount()
      * @see #collectInitialPrefetchPositions(int, LayoutPrefetchRegistry)
@@ -1356,11 +1357,10 @@
      * how many inner items should be prefetched when this LayoutManager's RecyclerView
      * is nested inside another RecyclerView.
      *
+     * @return number of items to prefetch.
      * @see #isItemPrefetchEnabled()
      * @see #setInitialPrefetchItemCount(int)
      * @see #collectInitialPrefetchPositions(int, LayoutPrefetchRegistry)
-     *
-     * @return number of items to prefetch.
      */
     public int getInitialPrefetchItemCount() {
         return mInitialPrefetchItemCount;
@@ -1444,13 +1444,13 @@
      * <p>
      * Checks both layout position and visible position to guarantee that the view is not visible.
      *
-     * @param recycler Recycler instance of {@link RecyclerView}
+     * @param recycler        Recycler instance of {@link RecyclerView}
      * @param scrollingOffset This can be used to add additional padding to the visible area. This
      *                        is used to detect children that will go out of bounds after scrolling,
      *                        without actually moving them.
-     * @param noRecycleSpace Extra space that should be excluded from recycling. This is the space
-     *                       from {@code extraLayoutSpace[0]}, calculated in {@link
-     *                       #calculateExtraLayoutSpace}.
+     * @param noRecycleSpace  Extra space that should be excluded from recycling. This is the space
+     *                        from {@code extraLayoutSpace[0]}, calculated in {@link
+     *                        #calculateExtraLayoutSpace}.
      */
     private void recycleViewsFromStart(RecyclerView.Recycler recycler, int scrollingOffset,
             int noRecycleSpace) {
@@ -1493,13 +1493,13 @@
      * <p>
      * Checks both layout position and visible position to guarantee that the view is not visible.
      *
-     * @param recycler Recycler instance of {@link RecyclerView}
+     * @param recycler        Recycler instance of {@link RecyclerView}
      * @param scrollingOffset This can be used to add additional padding to the visible area. This
      *                        is used to detect children that will go out of bounds after scrolling,
      *                        without actually moving them.
-     * @param noRecycleSpace Extra space that should be excluded from recycling. This is the space
-     *                       from {@code extraLayoutSpace[1]}, calculated in {@link
-     *                       #calculateExtraLayoutSpace}.
+     * @param noRecycleSpace  Extra space that should be excluded from recycling. This is the space
+     *                        from {@code extraLayoutSpace[1]}, calculated in {@link
+     *                        #calculateExtraLayoutSpace}.
      */
     private void recycleViewsFromEnd(RecyclerView.Recycler recycler, int scrollingOffset,
             int noRecycleSpace) {
@@ -1811,57 +1811,50 @@
         }
     }
 
-
-    /**
-     * Among the children that are suitable to be considered as an anchor child, returns the one
-     * closest to the end of the layout.
-     * <p>
-     * Due to ambiguous adapter updates or children being removed, some children's positions may be
-     * invalid. This method is a best effort to find a position within adapter bounds if possible.
-     * <p>
-     * It also prioritizes children that are within the visible bounds.
-     * @return A View that can be used an an anchor View.
-     */
-    private View findReferenceChildClosestToEnd(RecyclerView.Recycler recycler,
-            RecyclerView.State state) {
-        return mShouldReverseLayout ? findFirstReferenceChild(recycler, state) :
-                findLastReferenceChild(recycler, state);
-    }
-
-    /**
-     * Among the children that are suitable to be considered as an anchor child, returns the one
-     * closest to the start of the layout.
-     * <p>
-     * Due to ambiguous adapter updates or children being removed, some children's positions may be
-     * invalid. This method is a best effort to find a position within adapter bounds if possible.
-     * <p>
-     * It also prioritizes children that are within the visible bounds.
-     *
-     * @return A View that can be used an an anchor View.
-     */
-    private View findReferenceChildClosestToStart(RecyclerView.Recycler recycler,
-            RecyclerView.State state) {
-        return mShouldReverseLayout ? findLastReferenceChild(recycler, state) :
-                findFirstReferenceChild(recycler, state);
-    }
-
-    private View findFirstReferenceChild(RecyclerView.Recycler recycler, RecyclerView.State state) {
-        return findReferenceChild(recycler, state, 0, getChildCount(), state.getItemCount());
-    }
-
-    private View findLastReferenceChild(RecyclerView.Recycler recycler, RecyclerView.State state) {
-        return findReferenceChild(recycler, state, getChildCount() - 1, -1, state.getItemCount());
-    }
-
     // overridden by GridLayoutManager
+
+    /**
+     * Finds a suitable anchor child.
+     * <p>
+     * Due to ambiguous adapter updates or children being removed, some children's positions may be
+     * invalid. This method is a best effort to find a position within adapter bounds if possible.
+     * <p>
+     * It also prioritizes children from best to worst in this order:
+     * <ol>
+     *   <li> An in bounds child.
+     *   <li> An out of bounds child.
+     *   <li> An invalid child.
+     * </ol>
+     *
+     * @param layoutFromEnd True if the RV scrolls in the reverse direction, which is the same as
+     *                      (reverseLayout ^ stackFromEnd).
+     * @param traverseChildrenInReverseOrder True if the children should be traversed in reverse
+     *                                       order (stackFromEnd).
+     * @return A View that can be used an an anchor View.
+     */
     View findReferenceChild(RecyclerView.Recycler recycler, RecyclerView.State state,
-            int start, int end, int itemCount) {
+            boolean layoutFromEnd, boolean traverseChildrenInReverseOrder) {
         ensureLayoutState();
-        View invalidMatch = null;
-        View outOfBoundsMatch = null;
+
+        // Determine which direction through the view children we are going iterate.
+        int start = 0;
+        int end = getChildCount();
+        int diff = 1;
+        if (traverseChildrenInReverseOrder) {
+            start = getChildCount() - 1;
+            end = -1;
+            diff = -1;
+        }
+
+        int itemCount = state.getItemCount();
+
         final int boundsStart = mOrientationHelper.getStartAfterPadding();
         final int boundsEnd = mOrientationHelper.getEndAfterPadding();
-        final int diff = end > start ? 1 : -1;
+
+        View invalidMatch = null;
+        View bestFirstFind = null;
+        View bestSecondFind = null;
+
         for (int i = start; i != end; i += diff) {
             final View view = getChildAt(i);
             final int position = getPosition(view);
@@ -1875,19 +1868,42 @@
                 } else {
                     // b/148869110: usually if childStart >= boundsEnd the child is out of
                     // bounds, except if the child is 0 pixels!
-                    if ((childStart >= boundsEnd && childEnd > boundsEnd)
-                            || (childEnd <= boundsStart && childStart < boundsStart)) {
-                        // item is not visible, less preferred
-                        if (outOfBoundsMatch == null) {
-                            outOfBoundsMatch = view;
+                    boolean outOfBoundsBefore = childEnd <= boundsStart && childStart < boundsStart;
+                    boolean outOfBoundsAfter = childStart >= boundsEnd && childEnd > boundsEnd;
+                    if (outOfBoundsBefore || outOfBoundsAfter) {
+                        // The item is out of bounds.
+                        // We want to find the items closest to the in bounds items and because we
+                        // are always going through the items linearly, the 2 items we want are the
+                        // last out of bounds item on the side we start searching on, and the first
+                        // out of bounds item on the side we are ending on.  The side that we are
+                        // ending on ultimately takes priority because we want items later in the
+                        // layout to move forward if no in bounds anchors are found.
+                        if (layoutFromEnd) {
+                            if (outOfBoundsAfter) {
+                                bestFirstFind = view;
+                            } else if (bestSecondFind == null) {
+                                bestSecondFind = view;
+                            }
+                        } else {
+                            if (outOfBoundsBefore) {
+                                bestFirstFind = view;
+                            } else if (bestSecondFind == null) {
+                                bestSecondFind = view;
+                            }
                         }
                     } else {
+                        // We found an in bounds item, greedily return it.
                         return view;
                     }
                 }
             }
         }
-        return outOfBoundsMatch != null ? outOfBoundsMatch : invalidMatch;
+        // We didn't find an in bounds item so we will settle for an item in this order:
+        // 1. bestSecondFind
+        // 2. bestFirstFind
+        // 3. invalidMatch
+        return bestSecondFind != null ? bestSecondFind :
+                (bestFirstFind != null ? bestFirstFind : invalidMatch);
     }
 
     // returns the out-of-bound child view closest to RV's end bounds. An out-of-bound child is
@@ -2327,7 +2343,8 @@
             final int size = mScrapList.size();
             for (int i = 0; i < size; i++) {
                 final View view = mScrapList.get(i).itemView;
-                final RecyclerView.LayoutParams lp = (RecyclerView.LayoutParams) view.getLayoutParams();
+                final RecyclerView.LayoutParams lp =
+                        (RecyclerView.LayoutParams) view.getLayoutParams();
                 if (lp.isItemRemoved()) {
                     continue;
                 }
@@ -2362,7 +2379,8 @@
             }
             for (int i = 0; i < size; i++) {
                 View view = mScrapList.get(i).itemView;
-                final RecyclerView.LayoutParams lp = (RecyclerView.LayoutParams) view.getLayoutParams();
+                final RecyclerView.LayoutParams lp =
+                        (RecyclerView.LayoutParams) view.getLayoutParams();
                 if (view == ignore || lp.isItemRemoved()) {
                     continue;
                 }
diff --git a/room/common/api/2.3.0-alpha01.txt b/room/common/api/2.3.0-alpha01.txt
index 2c0d19a..6de3aa7 100644
--- a/room/common/api/2.3.0-alpha01.txt
+++ b/room/common/api/2.3.0-alpha01.txt
@@ -158,6 +158,9 @@
     method public abstract String[] projection() default {};
   }
 
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns {
+  }
+
   public class RoomWarnings {
     ctor @Deprecated public RoomWarnings();
     field public static final String CANNOT_CREATE_VERIFICATION_DATABASE = "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE";
diff --git a/room/common/api/current.txt b/room/common/api/current.txt
index 2c0d19a..6de3aa7 100644
--- a/room/common/api/current.txt
+++ b/room/common/api/current.txt
@@ -158,6 +158,9 @@
     method public abstract String[] projection() default {};
   }
 
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns {
+  }
+
   public class RoomWarnings {
     ctor @Deprecated public RoomWarnings();
     field public static final String CANNOT_CREATE_VERIFICATION_DATABASE = "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE";
diff --git a/room/common/api/public_plus_experimental_2.3.0-alpha01.txt b/room/common/api/public_plus_experimental_2.3.0-alpha01.txt
index 2c0d19a..6de3aa7 100644
--- a/room/common/api/public_plus_experimental_2.3.0-alpha01.txt
+++ b/room/common/api/public_plus_experimental_2.3.0-alpha01.txt
@@ -158,6 +158,9 @@
     method public abstract String[] projection() default {};
   }
 
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns {
+  }
+
   public class RoomWarnings {
     ctor @Deprecated public RoomWarnings();
     field public static final String CANNOT_CREATE_VERIFICATION_DATABASE = "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE";
diff --git a/room/common/api/public_plus_experimental_current.txt b/room/common/api/public_plus_experimental_current.txt
index 2c0d19a..6de3aa7 100644
--- a/room/common/api/public_plus_experimental_current.txt
+++ b/room/common/api/public_plus_experimental_current.txt
@@ -158,6 +158,9 @@
     method public abstract String[] projection() default {};
   }
 
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns {
+  }
+
   public class RoomWarnings {
     ctor @Deprecated public RoomWarnings();
     field public static final String CANNOT_CREATE_VERIFICATION_DATABASE = "ROOM_CANNOT_CREATE_VERIFICATION_DATABASE";
diff --git a/room/common/api/restricted_2.3.0-alpha01.txt b/room/common/api/restricted_2.3.0-alpha01.txt
index bdf35de..b852f6b 100644
--- a/room/common/api/restricted_2.3.0-alpha01.txt
+++ b/room/common/api/restricted_2.3.0-alpha01.txt
@@ -158,6 +158,9 @@
     method public abstract String[] projection() default {};
   }
 
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns {
+  }
+
   @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RoomMasterTable {
     method public static String! createInsertQuery(String!);
     field public static final String CREATE_QUERY = "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)";
diff --git a/room/common/api/restricted_current.txt b/room/common/api/restricted_current.txt
index bdf35de..b852f6b 100644
--- a/room/common/api/restricted_current.txt
+++ b/room/common/api/restricted_current.txt
@@ -158,6 +158,9 @@
     method public abstract String[] projection() default {};
   }
 
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface RewriteQueriesToDropUnusedColumns {
+  }
+
   @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RoomMasterTable {
     method public static String! createInsertQuery(String!);
     field public static final String CREATE_QUERY = "CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)";
diff --git a/room/common/src/main/java/androidx/room/RewriteQueriesToDropUnusedColumns.java b/room/common/src/main/java/androidx/room/RewriteQueriesToDropUnusedColumns.java
new file mode 100644
index 0000000..180da41
--- /dev/null
+++ b/room/common/src/main/java/androidx/room/RewriteQueriesToDropUnusedColumns.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.room;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * When present, {@link RewriteQueriesToDropUnusedColumns} annotation will cause Room to
+ * rewrite your {@link Query} methods such that only the columns that are used in the response are
+ * queried from the database.
+ * <p>
+ * This annotation is useful if you don't need all columns returned in a query but also don't
+ * want to spell out their names in the query projection.
+ * <p>
+ * For example, if you have a {@code User} class with 10 fields and want to return only
+ * the {@code name} and {@code lastName} fields in a POJO, you could write the query like this:
+ *
+ * <pre>
+ * {@literal @}Dao
+ * interface MyDao {
+ *     {@literal @}Query("SELECT * FROM User")
+ *     public List<NameAndLastName> getAll();
+ * }
+ * class NameAndLastName {
+ *     public String name;
+ *     public String lastName;
+ * }
+ * </pre>
+ * <p>
+ * Normally, Room would print a {@link RoomWarnings#CURSOR_MISMATCH} warning since the query result
+ * has additional columns that are not used in the response. You can annotate the method with
+ * {@link RewriteQueriesToDropUnusedColumns} to inform Room to rewrite your query at compile time to
+ * avoid fetching extra columns.
+ * <pre>
+ * {@literal @}Dao
+ * interface MyDao {
+ *     {@literal @}RewriteQueriesToDropUnusedColumns
+ *     {@literal @}Query("SELECT * FROM User")
+ *     public List<NameAndLastName> getAll();
+ * }
+ * </pre>
+ * At compile time, Room will convert this query to {@code SELECT name, lastName FROM (SELECT *
+ * FROM User)} which gets flattened by <b>Sqlite</b> to {@code SELECT name, lastName FROM User}.
+ * <p>
+ * When the annotation is used on a {@link Dao} method annotated with {@link Query}, it will only
+ * affect that query. You can put the annotation on the {@link Dao} annotated class/interface or
+ * the {@link Database} annotated class where it will impact all methods in the dao / database
+ * respectively.
+ * <p>
+ * Note that Room will not rewrite the query if it has multiple columns that have the same name as
+ * it does not yet have a way to distinguish which one is necessary.
+ */
+@Target({ElementType.METHOD, ElementType.TYPE})
+@Retention(RetentionPolicy.CLASS)
+public @interface RewriteQueriesToDropUnusedColumns {
+}
diff --git a/room/compiler/src/main/kotlin/androidx/room/parser/optimization/RemoveUnusedColumnQueryRewriter.kt b/room/compiler/src/main/kotlin/androidx/room/parser/optimization/RemoveUnusedColumnQueryRewriter.kt
new file mode 100644
index 0000000..5c5fc2b
--- /dev/null
+++ b/room/compiler/src/main/kotlin/androidx/room/parser/optimization/RemoveUnusedColumnQueryRewriter.kt
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.room.parser.optimization
+
+import androidx.room.parser.ParsedQuery
+import androidx.room.parser.SqlParser
+import androidx.room.processor.QueryRewriter
+import androidx.room.solver.query.result.PojoRowAdapter
+import androidx.room.solver.query.result.RowAdapter
+
+/**
+ * If the query response has unused columns, this rewrites the query to only fetch those columns.
+ *
+ * e.g. if it is a query like `SELECT * FROM User` where only `name` and `lastName` columns are
+ * accessed in the generated code, this re-writer will change it to
+ * `SELECT name, lastName FROM (SELECT * FROM User)`. Sqlite takes care of the rest where it
+ * flattens the query to avoid fetching unused columns in intermediate steps.
+ */
+object RemoveUnusedColumnQueryRewriter : QueryRewriter {
+    override fun rewrite(query: ParsedQuery, rowAdapter: RowAdapter): ParsedQuery {
+        if (rowAdapter !is PojoRowAdapter) {
+            return query
+        }
+        // cannot do anything w/o a result info
+        val resultInfo = query.resultInfo ?: return query
+
+        val unusedColumns = rowAdapter.mapping.unusedColumns
+        if (unusedColumns.isEmpty()) {
+            return query // nothing to optimize here
+        }
+        val columnNames = resultInfo.columns.map { it.name }
+        if (columnNames.size != columnNames.distinct().size) {
+            // if result has duplicate columns, ignore for now
+            return query
+        }
+        val usedColumnNames = columnNames - unusedColumns
+        val updated = SqlParser.parse(
+            "SELECT ${usedColumnNames.joinToString(", ") { "`$it`" }} FROM (${query.original})"
+        )
+        if (updated.errors.isNotEmpty()) {
+            // we somehow messed up, return original
+            return query
+        }
+        return updated
+    }
+}
diff --git a/room/compiler/src/main/kotlin/androidx/room/processor/Context.kt b/room/compiler/src/main/kotlin/androidx/room/processor/Context.kt
index 6a054e5..a83240a 100644
--- a/room/compiler/src/main/kotlin/androidx/room/processor/Context.kt
+++ b/room/compiler/src/main/kotlin/androidx/room/processor/Context.kt
@@ -16,8 +16,11 @@
 
 package androidx.room.processor
 
+import androidx.room.RewriteQueriesToDropUnusedColumns
+import androidx.room.ext.hasAnnotation
 import androidx.room.log.RLog
 import androidx.room.parser.expansion.ProjectionExpander
+import androidx.room.parser.optimization.RemoveUnusedColumnQueryRewriter
 import androidx.room.preconditions.Checks
 import androidx.room.processor.cache.Cache
 import androidx.room.solver.TypeAdapterStore
@@ -34,7 +37,8 @@
     val logger: RLog,
     private val typeConverters: CustomConverterProcessor.ProcessResult,
     private val inheritedAdapterStore: TypeAdapterStore?,
-    val cache: Cache
+    val cache: Cache,
+    private val canRewriteQueriesToDropUnusedColumns: Boolean
 ) {
     val checker: Checks = Checks(logger)
     val COMMON_TYPES: Context.CommonTypes = Context.CommonTypes(processingEnv)
@@ -50,9 +54,23 @@
     // set when database and its entities are processed.
     var databaseVerifier: DatabaseVerifier? = null
         private set
-    // set when database and its entities are processed.
-    var queryRewriter: QueryRewriter? = null
-        private set
+
+    val queryRewriter: QueryRewriter by lazy {
+        val verifier = databaseVerifier
+        if (verifier == null) {
+            QueryRewriter.NoOpRewriter
+        } else {
+            if (canRewriteQueriesToDropUnusedColumns) {
+                RemoveUnusedColumnQueryRewriter
+            } else if (BooleanProcessorOptions.EXPAND_PROJECTION.getValue(processingEnv)) {
+                ProjectionExpander(
+                    tables = verifier.entitiesAndViews
+                )
+            } else {
+                QueryRewriter.NoOpRewriter
+            }
+        }
+    }
 
     companion object {
         val ARG_OPTIONS by lazy {
@@ -66,13 +84,6 @@
             "database verifier is already set"
         }
         this.databaseVerifier = databaseVerifier
-        queryRewriter = if (BooleanProcessorOptions.EXPAND_PROJECTION.getValue(processingEnv)) {
-            ProjectionExpander(
-                tables = databaseVerifier.entitiesAndViews
-            )
-        } else {
-            QueryRewriter.NoOpRewriter
-        }
     }
 
     constructor(processingEnv: ProcessingEnvironment) : this(
@@ -80,7 +91,8 @@
             logger = RLog(RLog.ProcessingEnvMessager(processingEnv), emptySet(), null),
             typeConverters = CustomConverterProcessor.ProcessResult.EMPTY,
             inheritedAdapterStore = null,
-            cache = Cache(null, LinkedHashSet(), emptySet()))
+            cache = Cache(null, LinkedHashSet(), emptySet()),
+            canRewriteQueriesToDropUnusedColumns = false)
 
     class CommonTypes(val processingEnv: ProcessingEnvironment) {
         val VOID: TypeMirror by lazy {
@@ -109,7 +121,8 @@
                 logger = RLog(collector, logger.suppressedWarnings, logger.defaultElement),
                 typeConverters = this.typeConverters,
                 inheritedAdapterStore = typeAdapterStore,
-                cache = cache)
+                cache = cache,
+                canRewriteQueriesToDropUnusedColumns = canRewriteQueriesToDropUnusedColumns)
         subContext.databaseVerifier = databaseVerifier
         val result = handler(subContext)
         return Pair(result, collector)
@@ -128,17 +141,31 @@
         val subSuppressedWarnings =
             forceSuppressedWarnings + suppressedWarnings + logger.suppressedWarnings
         val subCache = Cache(cache, subTypeConverters.classes, subSuppressedWarnings)
+        val subCanRemoveUnusedColumns = canRewriteQueriesToDropUnusedColumns ||
+                element.hasRemoveUnusedColumnsAnnotation()
         val subContext = Context(
                 processingEnv = processingEnv,
                 logger = RLog(logger.messager, subSuppressedWarnings, element),
                 typeConverters = subTypeConverters,
                 inheritedAdapterStore = if (canReUseAdapterStore) typeAdapterStore else null,
-                cache = subCache)
+                cache = subCache,
+                canRewriteQueriesToDropUnusedColumns = subCanRemoveUnusedColumns)
         subContext.databaseVerifier = databaseVerifier
-        subContext.queryRewriter = queryRewriter
         return subContext
     }
 
+    private fun Element.hasRemoveUnusedColumnsAnnotation(): Boolean {
+        return hasAnnotation(RewriteQueriesToDropUnusedColumns::class).also { annotated ->
+            if (annotated && BooleanProcessorOptions.EXPAND_PROJECTION.getValue(processingEnv)) {
+                logger.w(
+                    warning = Warning.EXPAND_PROJECTION_WITH_REMOVE_UNUSED_COLUMNS,
+                    element = this,
+                    msg = ProcessorErrors.EXPAND_PROJECTION_ALONG_WITH_REMOVE_UNUSED
+                )
+            }
+        }
+    }
+
     enum class ProcessorOptions(val argName: String) {
         OPTION_SCHEMA_FOLDER("room.schemaLocation")
     }
diff --git a/room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt b/room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
index 84441fe..439c70c 100644
--- a/room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
+++ b/room/compiler/src/main/kotlin/androidx/room/processor/ProcessorErrors.kt
@@ -20,6 +20,7 @@
 import androidx.room.Insert
 import androidx.room.Query
 import androidx.room.RawQuery
+import androidx.room.RewriteQueriesToDropUnusedColumns
 import androidx.room.Update
 import androidx.room.ext.KotlinTypeNames
 import androidx.room.ext.RoomTypeNames
@@ -261,6 +262,9 @@
                 The query returns some columns [${unusedColumns.joinToString(", ")}] which are not
                 used by $pojoTypeName. You can use @ColumnInfo annotation on the fields to specify
                 the mapping.
+                You can annotate the method with @RewriteQueriesToDropUnusedColumns to direct Room
+                to rewrite your query to avoid fetching unused columns.
+        ""${'"'}.trimIndent()
             """.trim()
         } else {
             ""
@@ -275,6 +279,7 @@
         } else {
             ""
         }
+
         return """
             $unusedColumnsWarning
             $unusedFieldsWarning
@@ -684,6 +689,12 @@
 
     val INVALID_RELATION_IN_PARTIAL_ENTITY = "Partial entities cannot have relations."
 
+    val EXPAND_PROJECTION_ALONG_WITH_REMOVE_UNUSED = """
+        Using @${RewriteQueriesToDropUnusedColumns::class.simpleName} annotation when
+        room.expandProjection compiler flag is enabled will disable expandProjection for queries
+        covered with @${RewriteQueriesToDropUnusedColumns::class.simpleName}.
+    """.trim()
+
     fun missingPrimaryKeysInPartialEntityForInsert(
         partialEntityName: String,
         primaryKeyNames: List<String>
diff --git a/room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt b/room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
index a68207a..8990a12 100644
--- a/room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
+++ b/room/compiler/src/main/kotlin/androidx/room/processor/QueryMethodProcessor.kt
@@ -75,7 +75,7 @@
             val rowAdapter = initialResult.queryResultBinder.adapter?.rowAdapter
             val originalQuery = initialResult.query
             val finalQuery = rowAdapter?.let {
-                context.queryRewriter?.rewrite(originalQuery, rowAdapter)
+                context.queryRewriter.rewrite(originalQuery, rowAdapter)
             } ?: originalQuery
             if (finalQuery != originalQuery) {
                 // ok parse again
diff --git a/room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt b/room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
index f959979..5195642 100644
--- a/room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
+++ b/room/compiler/src/main/kotlin/androidx/room/vo/Warning.kt
@@ -38,7 +38,10 @@
     MISSING_INDEX_ON_JUNCTION("MISSING_INDEX_ON_JUNCTION"),
     JDK_VERSION_HAS_BUG("JDK_VERSION_HAS_BUG"),
     MISMATCHED_GETTER_TYPE("ROOM_MISMATCHED_GETTER_TYPE"),
-    MISMATCHED_SETTER_TYPE("ROOM_MISMATCHED_SETTER_TYPE");
+    MISMATCHED_SETTER_TYPE("ROOM_MISMATCHED_SETTER_TYPE"),
+    // NOTE there is no constant for this in RoomWarnings since this is a temporary case until
+    // expand projection is removed.
+    EXPAND_PROJECTION_WITH_REMOVE_UNUSED_COLUMNS("ROOM_EXPAND_PROJECTION_WITH_UNUSED_COLUMNS");
 
     companion object {
         val PUBLIC_KEY_MAP = Warning.values().associateBy { it.publicKey }
diff --git a/room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt b/room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
index 9636b13..dd82041 100644
--- a/room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
+++ b/room/compiler/src/test/kotlin/androidx/room/processor/QueryMethodProcessorTest.kt
@@ -17,13 +17,8 @@
 package androidx.room.processor
 
 import COMMON
-import androidx.room.ColumnInfo
 import androidx.room.Dao
-import androidx.room.Entity
-import androidx.room.PrimaryKey
 import androidx.room.Query
-import androidx.room.Relation
-import androidx.room.Transaction
 import androidx.room.ext.CommonTypeNames
 import androidx.room.ext.KotlinTypeNames
 import androidx.room.ext.LifecyclesTypeNames
@@ -67,6 +62,7 @@
 import org.hamcrest.CoreMatchers.nullValue
 import org.hamcrest.MatcherAssert.assertThat
 import org.junit.Assert.assertEquals
+import org.junit.AssumptionViolatedException
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.Parameterized
@@ -729,6 +725,51 @@
     }
 
     @Test
+    fun pojo_removeUnusedColumns() {
+        if (!enableVerification) {
+            throw AssumptionViolatedException("nothing to test w/o db verification")
+        }
+        singleQueryMethod<ReadQueryMethod>(
+            """
+                public static class Pojo {
+                    public String name;
+                    public String lastName;
+                }
+                @RewriteQueriesToDropUnusedColumns
+                @Query("select * from user LIMIT 1")
+                abstract Pojo loadUsers();
+                """
+        ) { method, _ ->
+            val adapter = method.queryResultBinder.adapter?.rowAdapter
+            check(adapter is PojoRowAdapter)
+            assertThat(method.query.original)
+                .isEqualTo("SELECT `name`, `lastName` FROM (select * from user LIMIT 1)")
+        }.compilesWithoutError().withWarningCount(0)
+    }
+
+    @Test
+    fun pojo_dontRemoveUnusedColumnsWhenColumnNamesConflict() {
+        if (!enableVerification) {
+            throw AssumptionViolatedException("nothing to test w/o db verification")
+        }
+        singleQueryMethod<ReadQueryMethod>(
+            """
+                public static class Pojo {
+                    public String name;
+                    public String lastName;
+                }
+                @RewriteQueriesToDropUnusedColumns
+                @Query("select * from user u, user u2 LIMIT 1")
+                abstract Pojo loadUsers();
+                """
+        ) { method, _ ->
+            val adapter = method.queryResultBinder.adapter?.rowAdapter
+            check(adapter is PojoRowAdapter)
+            assertThat(method.query.original).isEqualTo("select * from user u, user u2 LIMIT 1")
+        }.compilesWithoutError().withWarningContaining("The query returns some columns [uid")
+    }
+
+    @Test
     fun pojo_nonJavaName() {
         pojoTest("""
             @ColumnInfo(name = "MAX(ageColumn)")
@@ -931,11 +972,10 @@
                 ) + jfos
             )
             .withCompilerOptions(options)
+            .withCompilerOptions("-Xlint:-processing") // remove unclaimed annotation warnings
             .processedWith(TestProcessor.builder()
                 .forAnnotations(
-                    Query::class, Dao::class, ColumnInfo::class,
-                    Entity::class, PrimaryKey::class, Relation::class,
-                    Transaction::class
+                    Query::class
                 )
                 .nextRunHandler { invocation ->
                     val (owner, methods) = invocation.roundEnv
diff --git a/room/compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt b/room/compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt
new file mode 100644
index 0000000..d030b1b
--- /dev/null
+++ b/room/compiler/src/test/kotlin/androidx/room/processor/RemoveUnusedColumnsTest.kt
@@ -0,0 +1,178 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.room.processor
+
+import COMMON
+import androidx.room.RewriteQueriesToDropUnusedColumns
+import androidx.room.RoomProcessor
+import com.google.common.truth.Truth.assertAbout
+import com.google.testing.compile.CompileTester
+import com.google.testing.compile.JavaFileObjects
+import com.google.testing.compile.JavaSourcesSubjectFactory
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+import javax.tools.JavaFileObject
+import javax.tools.StandardLocation
+
+@RunWith(JUnit4::class)
+class RemoveUnusedColumnsTest {
+
+    @Test
+    fun noAnnotationGivesWarning() {
+        compile()
+            .withWarningCount(1)
+            .withWarningContaining("The query returns some columns [uid, ageColumn]")
+    }
+
+    @Test
+    fun annotateMethod() {
+        compile(
+            annotateMethod = true
+        ).withWarningCount(0)
+    }
+
+    @Test
+    fun annotateDao() {
+        compile(
+            annotateDao = true
+        ).withWarningCount(0)
+    }
+
+    @Test
+    fun annotateDb() {
+        compile(
+            annotateDb = true
+        ).withWarningCount(0)
+    }
+
+    @Test
+    fun expandProjection_annotateDb() {
+        compile(
+            annotateDb = true,
+            enableExpandProjection = true
+        ).withWarningCount(1)
+            .withWarningContaining(ProcessorErrors.EXPAND_PROJECTION_ALONG_WITH_REMOVE_UNUSED)
+    }
+
+    @Test
+    fun expandProjection_annotateMethod() {
+        compile(
+            annotateMethod = true,
+            enableExpandProjection = true
+        ).withWarningCount(1)
+            .withWarningContaining(ProcessorErrors.EXPAND_PROJECTION_ALONG_WITH_REMOVE_UNUSED)
+    }
+
+    @Test
+    fun expandProjection_annotateDao() {
+        compile(
+            annotateDao = true,
+            enableExpandProjection = true
+        ).withWarningCount(1)
+            .withWarningContaining(ProcessorErrors.EXPAND_PROJECTION_ALONG_WITH_REMOVE_UNUSED)
+    }
+
+    private fun compile(
+        annotateDb: Boolean = false,
+        annotateDao: Boolean = false,
+        annotateMethod: Boolean = false,
+        enableExpandProjection: Boolean = false
+    ): CompileTester.SuccessfulCompilationClause {
+        val jfos = dao(
+            annotateDao = annotateDao,
+            annotateDb = annotateDb,
+            annotateMethod = annotateMethod
+        ) + COMMON.USER
+        return assertAbout(JavaSourcesSubjectFactory.javaSources())
+            .that(jfos)
+            .withCompilerOptions("-Xlint:-processing") // remove unclaimed annotation warnings
+            .also {
+                if (enableExpandProjection) {
+                    it.withCompilerOptions("-Aroom.expandProjection=true")
+                }
+            }
+            .processedWith(RoomProcessor())
+            .compilesWithoutError()
+            .also {
+                it.and()
+                    .generatesFileNamed(
+                        StandardLocation.CLASS_OUTPUT, "foo.bar", "MyDao_Impl.class"
+                    )
+                    .and()
+                    .generatesFileNamed(
+                        StandardLocation.CLASS_OUTPUT, "foo.bar", "MyDb_Impl.class"
+                    )
+            }
+    }
+
+    companion object {
+        private fun dao(
+            annotateDb: Boolean,
+            annotateDao: Boolean,
+            annotateMethod: Boolean
+        ): List<JavaFileObject> {
+            fun annotationText(enabled: Boolean) = if (enabled) {
+                "@${RewriteQueriesToDropUnusedColumns::class.java.canonicalName}"
+            } else {
+                ""
+            }
+
+            val pojo = JavaFileObjects.forSourceString(
+                "foo.bar.Pojo",
+                """
+                    package foo.bar;
+                    public class Pojo {
+                        public String name;
+                        public String lastName;
+                    }
+                """.trimIndent()
+            )
+            val dao = JavaFileObjects.forSourceString(
+                "foo.bar.MyDao",
+                """
+                    package foo.bar;
+                    import androidx.room.*;
+                    @Dao
+                    ${annotationText(annotateDao)}
+                    public interface MyDao {
+                        ${annotationText(annotateMethod)}
+                        @Query("SELECT * FROM User")
+                        public java.util.List<Pojo> loadAll();
+                    }
+                """.trimIndent()
+            )
+            val db = JavaFileObjects.forSourceString(
+                "foo.bar.MyDb",
+                """
+                    package foo.bar;
+                    import androidx.room.*;
+                    @Database(
+                        entities = {User.class},
+                        version = 1,
+                        exportSchema = false
+                    )
+                    ${annotationText(annotateDb)}
+                    abstract class MyDb extends RoomDatabase {
+                        abstract public MyDao getDao();
+                    }
+                """.trimIndent()
+            )
+            return listOf(pojo, dao, db)
+        }
+    }
+}
\ No newline at end of file
diff --git a/samples/Support7Demos/src/main/AndroidManifest.xml b/samples/Support7Demos/src/main/AndroidManifest.xml
index b71092f..fd36e80 100644
--- a/samples/Support7Demos/src/main/AndroidManifest.xml
+++ b/samples/Support7Demos/src/main/AndroidManifest.xml
@@ -543,6 +543,15 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".widget.RemoveLargeItemsDemo"
+            android:label="RecyclerView/Remove Large Items Demo"
+            android:theme="@style/Theme.AppCompat">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="com.example.android.supportv7.SAMPLE_CODE" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".widget.NestedRecyclerViewActivity"
                   android:label="@string/nested_recycler_view"
                   android:theme="@style/Theme.AppCompat">
diff --git a/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/RemoveLargeItemsDemo.java b/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/RemoveLargeItemsDemo.java
new file mode 100644
index 0000000..e803693
--- /dev/null
+++ b/samples/Support7Demos/src/main/java/com/example/android/supportv7/widget/RemoveLargeItemsDemo.java
@@ -0,0 +1,249 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.example.android.supportv7.widget;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.graphics.Color;
+import android.os.Bundle;
+import android.util.TypedValue;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.CheckBox;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.collection.ArrayMap;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.example.android.supportv7.R;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Random;
+
+/**
+ * Test activity that displays behavior when all or some visible items are removed from a
+ * LinearLayoutManager.
+ */
+public class RemoveLargeItemsDemo extends Activity {
+
+    RecyclerView mRecyclerView;
+    private LinearLayoutManager mLinearLayoutManager;
+    MyAdapter mAdapter;
+    private int mNumItemsAdded = 0;
+    ArrayList<Item> mItems = new ArrayList<>();
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.remove_large_items_demo);
+
+        mRecyclerView = new RecyclerView(this);
+        mRecyclerView.setHasFixedSize(true);
+        mRecyclerView.setLayoutParams(
+                new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
+                        ViewGroup.LayoutParams.MATCH_PARENT));
+
+        mLinearLayoutManager = new LinearLayoutManager(this);
+        mRecyclerView.setLayoutManager(mLinearLayoutManager);
+
+        for (int i = 0; i < 6; ++i) {
+            mItems.add(new Item("Item #" + i));
+        }
+        mAdapter = new MyAdapter(mItems);
+        mRecyclerView.setAdapter(mAdapter);
+
+        ((ViewGroup) findViewById(R.id.container)).addView(mRecyclerView);
+
+        CheckBox reverseLayout = findViewById(R.id.reverse);
+        reverseLayout.setOnCheckedChangeListener(
+                (buttonView, isChecked) -> mLinearLayoutManager.setReverseLayout(isChecked)
+        );
+
+        CheckBox enableStackFromEnd = findViewById(R.id.enableStackFromEnd);
+        enableStackFromEnd.setOnCheckedChangeListener(
+                (buttonView, isChecked) -> mLinearLayoutManager.setStackFromEnd(isChecked)
+        );
+    }
+
+    /**
+     * Called by xml when a check box is checked.
+     */
+    public void checkboxClicked(@NonNull View view) {
+        ViewGroup parent = (ViewGroup) view.getParent();
+        boolean selected = ((CheckBox) view).isChecked();
+        MyViewHolder holder = (MyViewHolder) mRecyclerView.getChildViewHolder(parent);
+        mAdapter.selectItem(holder, selected);
+    }
+
+    /**
+     * Called by xml when a item is clicked.
+     */
+    public void itemClicked(@NonNull View view) {
+        ViewGroup parent = (ViewGroup) view;
+        MyViewHolder holder = (MyViewHolder) mRecyclerView.getChildViewHolder(parent);
+        final int position = holder.getBindingAdapterPosition();
+        if (position == RecyclerView.NO_POSITION) {
+            return;
+        }
+        mAdapter.toggleExpanded(holder);
+        mAdapter.notifyItemChanged(position);
+    }
+
+    /**
+     * Called by xml onClick to delete items that have been checked.
+     */
+    public void deleteSelectedItems(@NonNull View view) {
+        int numItems = mItems.size();
+        if (numItems > 0) {
+            for (int i = numItems - 1; i >= 0; --i) {
+                final Item item = mItems.get(i);
+                //noinspection ConstantConditions
+                Boolean selected = mAdapter.mSelected.get(item);
+                if (selected != null && selected) {
+                    removeAtPosition(i);
+                }
+            }
+        }
+    }
+
+    private void removeAtPosition(int position) {
+        if (position < mItems.size()) {
+            mItems.remove(position);
+            mAdapter.notifyItemRemoved(position);
+        }
+    }
+
+    private void addAtPosition(String text) {
+        int position = 3;
+        if (position > mItems.size()) {
+            position = mItems.size();
+        }
+        Item item = new Item(text);
+        mItems.add(position, item);
+        mAdapter.mSelected.put(item, Boolean.FALSE);
+        mAdapter.mExpanded.put(item, Boolean.FALSE);
+        mAdapter.notifyItemInserted(position);
+    }
+
+    /**
+     * Animates an item in.
+     */
+    public void addItem(@NonNull View view) {
+        addAtPosition("Added Item #" + mNumItemsAdded++);
+    }
+
+    private class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {
+        private int mBackground;
+        List<Item> mData;
+        ArrayMap<Item, Boolean> mSelected = new ArrayMap<>();
+        ArrayMap<Item, Boolean> mExpanded = new ArrayMap<>();
+
+        MyAdapter(List<Item> data) {
+            TypedValue val = new TypedValue();
+            RemoveLargeItemsDemo.this.getTheme().resolveAttribute(
+                    R.attr.selectableItemBackground, val, true);
+            mBackground = val.resourceId;
+            mData = data;
+        }
+
+        @NotNull
+        @Override
+        public MyViewHolder onCreateViewHolder(@NotNull ViewGroup parent, int viewType) {
+            MyViewHolder h =
+                    new MyViewHolder(getLayoutInflater().inflate(
+                            R.layout.remove_large_items_demo_item,
+                            mRecyclerView, false));
+            h.textView.setMinimumHeight(128);
+            h.textView.setFocusable(true);
+            h.textView.setBackgroundResource(mBackground);
+            return h;
+        }
+
+        @SuppressLint("SetTextI18n")
+        @Override
+        public void onBindViewHolder(@NotNull MyViewHolder myViewHolder, int position) {
+            Item item = mData.get(position);
+            myViewHolder.boundItem = item;
+            myViewHolder.textView.setText(item.mString);
+            Boolean selected = mSelected.get(item);
+            if (selected == null) {
+                selected = false;
+            }
+            myViewHolder.checkBox.setChecked(selected);
+            Boolean expanded = mExpanded.get(item);
+            if (Boolean.TRUE.equals(expanded)) {
+                myViewHolder.textView.setText("More text for the expanded version");
+            } else {
+                myViewHolder.textView.setText(item.mString);
+                myViewHolder.container.setBackgroundColor(item.mColor);
+            }
+        }
+
+        @Override
+        public int getItemCount() {
+            return mData.size();
+        }
+
+        public void selectItem(MyViewHolder holder, boolean selected) {
+            mSelected.put(holder.boundItem, selected);
+        }
+
+        public void toggleExpanded(MyViewHolder holder) {
+            Boolean expanded = mExpanded.get(holder.boundItem);
+            if (expanded == null) {
+                expanded = false;
+            }
+            mExpanded.put(holder.boundItem, !expanded);
+        }
+    }
+
+    static class MyViewHolder extends RecyclerView.ViewHolder {
+        public TextView textView;
+        public CheckBox checkBox;
+        public View container;
+        public Item boundItem;
+
+        MyViewHolder(View v) {
+            super(v);
+            container = v;
+            textView = v.findViewById(R.id.text);
+            checkBox = v.findViewById(R.id.selected);
+        }
+
+        @Override
+        @NonNull
+        public String toString() {
+            return super.toString() + " \"" + textView.getText() + "\"";
+        }
+    }
+
+    static class Item {
+        public String mString;
+        public int mColor;
+
+        Item(String string) {
+            mString = string;
+            Random rnd = new Random();
+            mColor = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));
+        }
+    }
+}
diff --git a/samples/Support7Demos/src/main/res/layout/remove_large_items_demo.xml b/samples/Support7Demos/src/main/res/layout/remove_large_items_demo.xml
new file mode 100644
index 0000000..e44c9c1
--- /dev/null
+++ b/samples/Support7Demos/src/main/res/layout/remove_large_items_demo.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:orientation="vertical"
+    android:id="@+id/container"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <CheckBox
+            android:id="@+id/reverse"
+            android:checked="false"
+            android:text="Reverse"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"/>
+
+        <CheckBox
+            android:id="@+id/enableStackFromEnd"
+            android:checked="false"
+            android:text="StackFromEnd"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"/>
+
+    </LinearLayout>
+
+    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <Button
+            android:id="@+id/deleteButton"
+            android:layout_weight=".5"
+            android:layout_width="0dip"
+            android:layout_height="wrap_content"
+            android:onClick="deleteSelectedItems"
+            android:text="@string/delete_item"/>
+
+        <Button
+            android:layout_weight=".5"
+            android:layout_width="0dip"
+            android:layout_height="wrap_content"
+            android:onClick="addItem"
+            android:text="@string/add_item"/>
+
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/samples/Support7Demos/src/main/res/layout/remove_large_items_demo_item.xml b/samples/Support7Demos/src/main/res/layout/remove_large_items_demo_item.xml
new file mode 100644
index 0000000..fc887c1
--- /dev/null
+++ b/samples/Support7Demos/src/main/res/layout/remove_large_items_demo_item.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2018 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:onClick="itemClicked"
+    android:orientation="horizontal"
+    android:paddingTop="400dp"
+    android:paddingBottom="400dp">
+
+    <CheckBox
+        android:id="@+id/selected"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:onClick="checkboxClicked" />
+
+    <TextView
+        android:id="@+id/text"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+</LinearLayout>
\ No newline at end of file
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/GetSchemaTest.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/GetSchemaTest.kt
index aa6a260..f3f3305 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/GetSchemaTest.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/GetSchemaTest.kt
@@ -164,7 +164,9 @@
         testEnvironment.sendCommand(createGetSchemaCommand(databaseId)).let { response ->
             assertThat(response.hasErrorOccurred()).isEqualTo(true)
             val error = response.errorOccurred.content
-            assertThat(error.message).isEqualTo("No database with id=$databaseId")
+            assertThat(error.message).contains(
+                "Unable to perform an operation on database (id=$databaseId).")
+            assertThat(error.message).contains("The database may have already been closed.")
             assertThat(error.recoverability.isRecoverable).isEqualTo(true)
         }
     }
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/InvalidationTest.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/InvalidationTest.kt
index 2e709b8..c27e325 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/InvalidationTest.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/InvalidationTest.kt
@@ -16,6 +16,9 @@
 
 package androidx.sqlite.inspection.test
 
+import android.database.AbstractCursor
+import android.database.Cursor
+import android.database.CursorWrapper
 import android.database.sqlite.SQLiteCursor
 import android.database.sqlite.SQLiteDatabase
 import android.database.sqlite.SQLiteStatement
@@ -131,23 +134,43 @@
         }
 
         // Check for hook behaviour
-        listOf(
-            "insert into t1 values (1)" to true,
-            "select * from sqlite_master" to false
-        ).forEach { (query, shouldCauseInvalidation) ->
-            testEnvironment.assertNoQueuedEvents()
+        fun wrap(cursor: Cursor): Cursor = object : CursorWrapper(cursor) {}
+        fun noOp(c: Cursor): Cursor = c
+        listOf(::wrap, ::noOp).forEach { wrap ->
+            listOf(
+                "insert into t1 values (1)" to true,
+                "select * from sqlite_master" to false
+            ).forEach { (query, shouldCauseInvalidation) ->
+                testEnvironment.assertNoQueuedEvents()
 
-            val cursor = cursorForQuery(query)
-            hooks.entryHookFor(rawQueryMethodSignature).onEntry(null, listOf(null, query))
-            hooks.exitHookFor(rawQueryMethodSignature).onExit(cursor as Any)
-            hooks.entryHookFor(getCountMethodSignature).onEntry(cursor, emptyList())
-            hooks.exitHookFor(getCountMethodSignature).onExit(null)
+                val cursor = cursorForQuery(query)
+                hooks.entryHookFor(rawQueryMethodSignature).onEntry(null, listOf(null, query))
+                hooks.exitHookFor(rawQueryMethodSignature).onExit(wrap(wrap(cursor)))
+                hooks.entryHookFor(getCountMethodSignature).onEntry(cursor, emptyList())
+                hooks.exitHookFor(getCountMethodSignature).onExit(null)
 
-            if (shouldCauseInvalidation) {
-                testEnvironment.receiveEvent()
+                if (shouldCauseInvalidation) {
+                    testEnvironment.receiveEvent()
+                }
+                testEnvironment.assertNoQueuedEvents()
             }
-            testEnvironment.assertNoQueuedEvents()
         }
+
+        // no crash for unknown cursor class
+        hooks.entryHookFor(rawQueryMethodSignature).onEntry(null, listOf(null, "select * from t1"))
+        hooks.exitHookFor(rawQueryMethodSignature).onExit(object : AbstractCursor() {
+            override fun getLong(column: Int): Long = 0
+            override fun getCount(): Int = 0
+            override fun getColumnNames(): Array<String> = emptyArray()
+            override fun getShort(column: Int): Short = 0
+            override fun getFloat(column: Int): Float = 0f
+            override fun getDouble(column: Int): Double = 0.0
+            override fun isNull(column: Int): Boolean = false
+            override fun getInt(column: Int): Int = 0
+            override fun getString(column: Int): String = ""
+        })
+
+        Unit
     }
 
     private fun cursorForQuery(query: String): SQLiteCursor {
diff --git a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/QueryTest.kt b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/QueryTest.kt
index fe8be48..e878fb2 100644
--- a/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/QueryTest.kt
+++ b/sqlite/sqlite-inspection/src/androidTest/java/androidx/sqlite/inspection/test/QueryTest.kt
@@ -119,7 +119,9 @@
             .let { response ->
                 assertThat(response.hasErrorOccurred()).isEqualTo(true)
                 val error = response.errorOccurred.content
-                assertThat(error.message).isEqualTo("No database with id=$databaseId")
+                assertThat(error.message).contains(
+                    "Unable to perform an operation on database (id=$databaseId).")
+                assertThat(error.message).contains("The database may have already been closed.")
                 assertThat(error.stackTrace).isEqualTo("")
                 assertThat(error.recoverability.isRecoverable).isEqualTo(true)
             }
diff --git a/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseExtensions.java b/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseExtensions.java
index b9a8248..6b56142 100644
--- a/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseExtensions.java
+++ b/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseExtensions.java
@@ -50,8 +50,11 @@
      * was already closed; otherwise re-throws the exception thrown by
      * {@link SQLiteDatabase#acquireReference}.
      */
-    // TODO: use in all places where a database operation is being performed (b/154908055)
-    static boolean tryAcquireReference(SQLiteDatabase database) {
+    static boolean tryAcquireReference(@NonNull SQLiteDatabase database) {
+        if (!database.isOpen()) {
+            return false;
+        }
+
         try {
             database.acquireReference();
             return true; // success
diff --git a/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseRegistry.java b/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseRegistry.java
index 9545fb7..592f9f3 100644
--- a/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseRegistry.java
+++ b/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/DatabaseRegistry.java
@@ -129,7 +129,7 @@
                 mKeepDatabasesOpen = true;
 
                 for (int id : mDatabases.keySet()) {
-                    acquireKeepOpenReference(id);
+                    secureKeepOpenReference(id);
                 }
             } else { // keepOpen -> allowClose
                 mKeepDatabasesOpen = false;
@@ -191,7 +191,7 @@
                 }
             }
 
-            acquireKeepOpenReference(id);
+            secureKeepOpenReference(id);
 
             // notify of changes if any
             if (notifyOpenedId != null) {
@@ -204,12 +204,13 @@
 
     /**
      * Returns a currently active database reference if one is available. Null otherwise.
+     * Consumer of this method must release the reference when done using it.
      * Thread-safe
      */
     @Nullable
-    SQLiteDatabase getDatabase(int databaseId) {
+    SQLiteDatabase acquireReference(int databaseId) {
         synchronized (mLock) {
-            return getActiveReference(databaseId);
+            return acquireReferenceImpl(databaseId);
         }
     }
 
@@ -237,11 +238,11 @@
 
     @Nullable
     @GuardedBy("mLock")
-    private SQLiteDatabase getActiveReference(int databaseId) {
+    private SQLiteDatabase acquireReferenceImpl(int databaseId) {
         final Set<SQLiteDatabase> references = mDatabases.get(databaseId);
         if (references != null) {
             for (SQLiteDatabase reference : references) {
-                if (reference.isOpen()) {
+                if (tryAcquireReference(reference)) {
                     return reference;
                 }
             }
@@ -249,31 +250,17 @@
         return null;
     }
 
-    @SuppressWarnings("StatementWithEmptyBody")
     @GuardedBy("mLock")
-    private void acquireKeepOpenReference(int id) {
+    private void secureKeepOpenReference(int id) {
         if (!mKeepDatabasesOpen || mKeepOpenReferences.containsKey(id)) {
             // Keep-open is disabled or we already have a keep-open-reference for that id.
             return;
         }
 
         // Try secure a keep-open reference
-        Set<SQLiteDatabase> databases = mDatabases.get(id);
-        if (databases == null) {
-            return; // no databases with that id
-        }
-
-        for (SQLiteDatabase database : databases) {
-            if (!database.isOpen()) {
-                continue;
-            }
-
-            if (tryAcquireReference(database)) {
-                mKeepOpenReferences.put(id, database);
-                return; // secured a reference, so done
-            } else {
-                // The connection is already closed. Continuing the search.
-            }
+        SQLiteDatabase database = acquireReferenceImpl(id);
+        if (database != null) {
+            mKeepOpenReferences.put(id, database);
         }
     }
 
diff --git a/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/SqliteInspector.java b/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/SqliteInspector.java
index f9ef5a4..14c2678 100644
--- a/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/SqliteInspector.java
+++ b/sqlite/sqlite-inspection/src/main/java/androidx/sqlite/inspection/SqliteInspector.java
@@ -22,6 +22,7 @@
 
 import android.annotation.SuppressLint;
 import android.database.Cursor;
+import android.database.CursorWrapper;
 import android.database.DatabaseUtils;
 import android.database.sqlite.SQLiteCursor;
 import android.database.sqlite.SQLiteCursorDriver;
@@ -30,6 +31,7 @@
 import android.database.sqlite.SQLiteQuery;
 import android.database.sqlite.SQLiteStatement;
 import android.os.CancellationSignal;
+import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -354,12 +356,12 @@
                 rawQueryMethodSignature, new EntryExitMatchingHookRegistry.OnExitCallback() {
                     @Override
                     public void onExit(EntryExitMatchingHookRegistry.Frame exitFrame) {
-                        SQLiteCursor cursor = (SQLiteCursor) exitFrame.mResult;
-                        String query = (String) exitFrame.mArgs.get(1);
+                        SQLiteCursor cursor = cursorParam(exitFrame.mResult);
+                        String query = stringParam(exitFrame.mArgs.get(1));
 
                         // Only track cursors that might modify the database.
                         // TODO: handle PRAGMA select queries, e.g. PRAGMA_TABLE_INFO
-                        if (query != null && getSqlStatementType(query)
+                        if (cursor != null && query != null && getSqlStatementType(query)
                                 != DatabaseUtils.STATEMENT_SELECT) {
                             trackedCursors.put(cursor, null);
                         }
@@ -380,6 +382,28 @@
         }
     }
 
+    // Gets a SQLiteCursor from a passed-in Object (if possible)
+    private @Nullable SQLiteCursor cursorParam(Object cursor) {
+        if (cursor instanceof SQLiteCursor) {
+            return (SQLiteCursor) cursor;
+        }
+
+        if (cursor instanceof CursorWrapper) {
+            CursorWrapper wrapper = (CursorWrapper) cursor;
+            return cursorParam(wrapper.getWrappedCursor());
+        }
+
+        // TODO: add support for more cursor types
+        Log.w(SqliteInspector.class.getName(), String.format(
+                "Unsupported Cursor type: %s. Invalidation might not work correctly.", cursor));
+        return null;
+    }
+
+    // Gets a String from a passed-in Object (if possible)
+    private @Nullable String stringParam(Object string) {
+        return string instanceof String ? (String) string : null;
+    }
+
     private void dispatchDatabaseOpenedEvent(int databaseId, String path) {
         getConnection().sendEvent(Event.newBuilder().setDatabaseOpened(
                 DatabaseOpenedEvent
@@ -403,17 +427,21 @@
     }
 
     private void handleGetSchema(GetSchemaCommand command, CommandCallback callback) {
-        SQLiteDatabase database = handleDatabaseId(command.getDatabaseId(), callback);
+        SQLiteDatabase database = acquireReference(command.getDatabaseId(), callback);
         if (database == null) return;
 
-        callback.reply(querySchema(database).toByteArray());
+        try {
+            callback.reply(querySchema(database).toByteArray());
+        } finally {
+            database.releaseReference();
+        }
     }
 
     private void handleQuery(final QueryCommand command, final CommandCallback callback) {
-        final SQLiteDatabase database = handleDatabaseId(command.getDatabaseId(), callback);
-        final CancellationSignal cancellationSignal = new CancellationSignal();
-
+        final SQLiteDatabase database = acquireReference(command.getDatabaseId(), callback);
         if (database == null) return;
+
+        final CancellationSignal cancellationSignal = new CancellationSignal();
         final Future<?> future = SqliteInspectionExecutors.submit(mIOExecutor, new Runnable() {
             @Override
             public void run() {
@@ -437,6 +465,7 @@
                     if (cursor != null) {
                         cursor.close();
                     }
+                    database.releaseReference();
                 }
 
             }
@@ -515,11 +544,13 @@
      * Tries to find a database for an id. If no such database is found, it replies with an
      * {@link ErrorOccurredResponse} via the {@code callback} provided.
      *
+     * Consumer of this method must release the reference when done using it.
+     *
      * @return null if no database found for the provided id. A database reference otherwise.
      */
     @Nullable
-    private SQLiteDatabase handleDatabaseId(int databaseId, CommandCallback callback) {
-        SQLiteDatabase database = mDatabaseRegistry.getDatabase(databaseId);
+    private SQLiteDatabase acquireReference(int databaseId, CommandCallback callback) {
+        SQLiteDatabase database = mDatabaseRegistry.acquireReference(databaseId);
         if (database == null) {
             replyNoDatabaseWithId(callback, databaseId);
             return null;
@@ -566,8 +597,9 @@
     }
 
     private void replyNoDatabaseWithId(CommandCallback callback, int databaseId) {
-        callback.reply(createErrorOccurredResponse("No database with id=" + databaseId,
-                null, true).toByteArray());
+        String message = String.format("Unable to perform an operation on database (id=%s)."
+                + " The database may have already been closed.", databaseId);
+        callback.reply(createErrorOccurredResponse(message, null, true).toByteArray());
     }
 
     private @NonNull Response querySchema(SQLiteDatabase database) {
diff --git a/ui/integration-tests/benchmark/build.gradle b/ui/integration-tests/benchmark/build.gradle
index 7f042ba..407eb1e 100644
--- a/ui/integration-tests/benchmark/build.gradle
+++ b/ui/integration-tests/benchmark/build.gradle
@@ -42,10 +42,8 @@
     implementation(JUNIT)
 
     androidTestImplementation project(":ui:ui-core")
-    androidTestImplementation project(":ui:ui-framework")
     androidTestImplementation project(":ui:ui-layout")
     androidTestImplementation project(":ui:ui-material")
-    androidTestImplementation project(":ui:ui-platform")
     androidTestImplementation project(":ui:ui-test")
     androidTestImplementation project(":compose:compose-runtime")
     androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/autofill/AndroidAutofillBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/autofill/AndroidAutofillBenchmark.kt
index 4823d03..3062b73 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/autofill/AndroidAutofillBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/benchmark/test/autofill/AndroidAutofillBenchmark.kt
@@ -18,19 +18,18 @@
 
 import android.graphics.Rect
 import android.util.SparseArray
+import android.view.ViewGroup
 import android.view.autofill.AutofillValue
-import androidx.activity.ComponentActivity
 import androidx.benchmark.junit4.BenchmarkRule
 import androidx.benchmark.junit4.measureRepeated
 import androidx.test.annotation.UiThreadTest
-import androidx.test.filters.FlakyTest
 import androidx.test.filters.LargeTest
-import androidx.test.rule.ActivityTestRule
 import androidx.ui.autofill.AutofillNode
 import androidx.test.filters.SdkSuppress
 import androidx.ui.autofill.AutofillType
-import androidx.ui.core.AndroidOwner
-import androidx.ui.core.createOwner
+import androidx.ui.core.Owner
+import androidx.ui.core.OwnerAmbient
+import androidx.ui.test.createComposeRule
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
@@ -42,19 +41,23 @@
 class AndroidAutofillBenchmark {
 
     @get:Rule
-    val activityRule = ActivityTestRule(ComponentActivity::class.java)
+    val composeTestRule = createComposeRule()
 
     @get:Rule
     val benchmarkRule = BenchmarkRule()
 
-    private lateinit var owner: AndroidOwner
+    private lateinit var owner: Owner
+    private lateinit var composeView: ViewGroup
 
     @Before
     fun setup() {
-        owner = createOwner(activityRule.activity)
+        composeTestRule.setContent {
+            @Suppress("DEPRECATION") // Owner Ambient will be removed by b/139866476.
+            owner = OwnerAmbient.current
+            composeView = owner as ViewGroup
+        }
     }
 
-    @FlakyTest
     @Test
     @UiThreadTest
     @SdkSuppress(minSdkVersion = 26)
@@ -73,7 +76,7 @@
 
         // Assess.
         benchmarkRule.measureRepeated {
-            owner.view.autofill(autofillValues)
+            composeView.autofill(autofillValues)
         }
     }
 }
\ No newline at end of file
diff --git a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/WithConstraintsBenchmark.kt b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/WithConstraintsBenchmark.kt
index c91510e..011792c 100644
--- a/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/WithConstraintsBenchmark.kt
+++ b/ui/integration-tests/benchmark/src/androidTest/java/androidx/ui/core/WithConstraintsBenchmark.kt
@@ -89,7 +89,7 @@
     override fun emitContent() {
         val size = state { 200.dp }
         this.state = size
-        WithConstraints { _, _ ->
+        WithConstraints {
             Box(Modifier.preferredSize(300.dp), gravity = ContentGravity.Center) {
                 Spacer(Modifier.preferredSize(width = size.value, height = size.value))
             }
@@ -110,7 +110,7 @@
         val size = state { 100.ipx }
         this.state = size
         ChangingConstraintsLayout(state) {
-            WithConstraints { _, _ ->
+            WithConstraints {
                 Box(Modifier.fillMaxSize())
             }
         }
diff --git a/ui/integration-tests/build.gradle b/ui/integration-tests/build.gradle
index 1dd83ba..683125f 100644
--- a/ui/integration-tests/build.gradle
+++ b/ui/integration-tests/build.gradle
@@ -41,10 +41,8 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-material")
-    implementation project(":ui:ui-platform")
     implementation project(":ui:ui-test")
     implementation project(":ui:ui-vector")
 }
diff --git a/ui/integration-tests/demos/build.gradle b/ui/integration-tests/demos/build.gradle
index de02270..57598cf 100644
--- a/ui/integration-tests/demos/build.gradle
+++ b/ui/integration-tests/demos/build.gradle
@@ -15,7 +15,7 @@
     implementation project(":ui:ui-android-view:integration-tests:ui-android-view-demos")
     implementation project(":ui:ui-animation:integration-tests:ui-animation-demos")
     implementation project(":ui:ui-foundation:integration-tests:ui-foundation-demos")
-    implementation project(":ui:ui-framework:integration-tests:ui-framework-demos")
+    implementation project(":ui:ui-core:integration-tests:ui-core-demos")
     implementation project(":ui:ui-layout:integration-tests:ui-layout-demos")
     implementation project(":ui:ui-material:integration-tests:ui-material-demos")
     implementation project(":ui:ui-material:integration-tests:ui-material-studies")
@@ -27,7 +27,6 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-android-view")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-text")
     implementation project(":ui:ui-foundation")
@@ -42,7 +41,7 @@
     androidTestImplementation project(":ui:ui-android-view:integration-tests:ui-android-view-demos")
     androidTestImplementation project(":ui:ui-animation:integration-tests:ui-animation-demos")
     androidTestImplementation project(":ui:ui-foundation:integration-tests:ui-foundation-demos")
-    androidTestImplementation project(":ui:ui-framework:integration-tests:ui-framework-demos")
+    androidTestImplementation project(":ui:ui-core:integration-tests:ui-core-demos")
     androidTestImplementation project(":ui:ui-layout:integration-tests:ui-layout-demos")
     androidTestImplementation project(":ui:ui-material:integration-tests:ui-material-demos")
     androidTestImplementation project(":ui:ui-material:integration-tests:ui-material-studies")
diff --git a/ui/integration-tests/demos/common/src/main/java/androidx/ui/demos/common/Demo.kt b/ui/integration-tests/demos/common/src/main/java/androidx/ui/demos/common/Demo.kt
index ea228b9..9a68825 100644
--- a/ui/integration-tests/demos/common/src/main/java/androidx/ui/demos/common/Demo.kt
+++ b/ui/integration-tests/demos/common/src/main/java/androidx/ui/demos/common/Demo.kt
@@ -24,7 +24,9 @@
 /**
  * Generic demo with a [title] that will be displayed in the list of demos.
  */
-sealed class Demo(val title: String)
+sealed class Demo(val title: String) {
+    override fun toString() = title
+}
 
 /**
  * Demo that launches an [Activity] when selected.
diff --git a/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt b/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt
index 75541b8..083bf34 100644
--- a/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt
+++ b/ui/integration-tests/demos/src/androidTest/java/androidx/ui/demos/test/DemoTest.kt
@@ -21,29 +21,29 @@
 import androidx.ui.demos.AllDemosCategory
 import androidx.ui.demos.DemoActivity
 import androidx.ui.demos.Tags
-import androidx.ui.demos.common.ActivityDemo
 import androidx.ui.demos.common.ComposableDemo
 import androidx.ui.demos.common.Demo
 import androidx.ui.demos.common.DemoCategory
 import androidx.ui.demos.common.allDemos
 import androidx.ui.demos.common.allLaunchableDemos
+import androidx.ui.test.SemanticsNodeInteractionCollection
 import androidx.ui.test.android.AndroidComposeTestRule
 import androidx.ui.test.assertLabelEquals
 import androidx.ui.test.doClick
 import androidx.ui.test.doScrollTo
 import androidx.ui.test.find
+import androidx.ui.test.findAll
 import androidx.ui.test.findByTag
 import androidx.ui.test.findByText
 import androidx.ui.test.hasClickAction
 import androidx.ui.test.hasText
+import androidx.ui.test.isDialog
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.junit.runners.JUnit4
 
-// TODO: expand testing here to include Activity based demos, which are harder to handle
-// synchronization between
 @LargeTest
 @RunWith(JUnit4::class)
 class DemoTest {
@@ -57,12 +57,14 @@
         findByTag(Tags.FilterButton).doClick()
         // TODO: use keyboard input APIs when available to actually filter the list
         val testDemo = AllDemosCategory.allLaunchableDemos()
+            // ActivityDemos don't set the title in the AppBar, so we can't verify if we've
+            // opened the right one. So, only use ComposableDemos
             .filterIsInstance<ComposableDemo>()
             .sortedBy { it.title }
             .first()
         // Click on the first demo
         val demoTitle = testDemo.title
-        findByText(demoTitle).doClick()
+        findByText(demoTitle).doScrollTo().doClick()
         assertAppBarHasTitle(demoTitle)
         Espresso.pressBack()
         assertIsOnRootScreen()
@@ -79,8 +81,7 @@
         assertIsOnRootScreen()
 
         // Ensure that we visited all the demos we expected to, in the order we expected to.
-        val nonActivityDemos = AllDemosCategory.allDemos().filter { it !is ActivityDemo<*> }
-        assertThat(visitedDemos).isEqualTo(nonActivityDemos)
+        assertThat(visitedDemos).isEqualTo(AllDemosCategory.allDemos())
     }
 
     /**
@@ -89,7 +90,7 @@
      * @param path The path of categories that leads to this demo
      */
     private fun DemoCategory.visitDemos(visitedDemos: MutableList<Demo>, path: List<DemoCategory>) {
-        demos.filter { it !is ActivityDemo<*> }.forEach { demo ->
+        demos.forEach { demo ->
             visitedDemos.add(demo)
             demo.visit(visitedDemos, path)
         }
@@ -107,12 +108,9 @@
         val navigationTitle = if (path.size == 1) {
             path.first().title
         } else {
-            path.drop(1).joinToString(" > ") { it.title }
+            path.drop(1).joinToString(" > ")
         }
 
-        // TODO: b/154796168 remove this when we can check for dialogs and dismiss them
-        if (title in listOf("Dialog", "AlertDialog")) return
-
         find(hasText(title) and hasClickAction())
             .assertExists("Couldn't find \"$title\" in \"$navigationTitle\"")
             .doScrollTo()
@@ -122,6 +120,13 @@
             visitDemos(visitedDemos, path + this)
         }
 
+        // Don't `findAll` in WebComponentActivity, it doesn't have an AndroidOwner
+        if (title != "WebComponent") {
+            while (findAll(isDialog()).isNotEmpty()) {
+                Espresso.pressBack()
+            }
+        }
+
         Espresso.pressBack()
 
         assertAppBarHasTitle(navigationTitle)
@@ -138,3 +143,7 @@
  */
 private fun assertAppBarHasTitle(title: String) =
     findByTag(Tags.AppBarTitle).assertLabelEquals(title)
+
+private fun SemanticsNodeInteractionCollection.isNotEmpty(): Boolean {
+    return fetchSemanticsNodes().isNotEmpty()
+}
diff --git a/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/NestedScrollerTestCase.kt b/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/NestedScrollerTestCase.kt
index b666a83..eb02062 100644
--- a/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/NestedScrollerTestCase.kt
+++ b/ui/integration-tests/src/main/java/androidx/ui/integration/test/foundation/NestedScrollerTestCase.kt
@@ -17,6 +17,7 @@
 package androidx.ui.integration.test.foundation
 
 import androidx.compose.Composable
+import androidx.compose.key
 import androidx.compose.remember
 import androidx.ui.core.Alignment
 import androidx.ui.core.DensityAmbient
@@ -56,7 +57,10 @@
                 VerticalScroller {
                     Column {
                         repeat(5) { index ->
-                            SquareRow(index == 0)
+                            // key is needed because of b/154920561
+                            key(index) {
+                                SquareRow(index == 0)
+                            }
                         }
                     }
                 }
diff --git a/ui/settings.gradle b/ui/settings.gradle
index b017b42..28fd1f4 100644
--- a/ui/settings.gradle
+++ b/ui/settings.gradle
@@ -59,6 +59,7 @@
 includeProject(":ui:ui-animation:integration-tests:ui-animation-demos", "ui-animation/integration-tests/animation-demos")
 includeProject(":ui:ui-animation:samples", "ui-animation/samples")
 includeProject(":ui:ui-core", "ui-core")
+includeProject(":ui:ui-core:integration-tests:ui-core-demos", "ui-core/integration-tests/framework-demos")
 includeProject(":ui:ui-core:samples", "ui-core/samples")
 if (startParameter.projectProperties.containsKey('compose.desktop')) {
     includeProject(":ui:ui-desktop", "ui-desktop")
@@ -67,9 +68,6 @@
 includeProject(":ui:ui-foundation", "ui-foundation")
 includeProject(":ui:ui-foundation:integration-tests:ui-foundation-demos", "ui-foundation/integration-tests/foundation-demos")
 includeProject(":ui:ui-foundation:samples", "ui-foundation/samples")
-includeProject(":ui:ui-framework", "ui-framework")
-includeProject(":ui:ui-framework:integration-tests:ui-framework-demos", "ui-framework/integration-tests/framework-demos")
-includeProject(":ui:ui-framework:samples", "ui-framework/samples")
 includeProject(":ui:ui-internal-lint-checks", "ui-internal-lint-checks")
 includeProject(":ui:ui-geometry", "ui-geometry")
 includeProject(":ui:ui-graphics", "ui-graphics")
@@ -85,8 +83,6 @@
 includeProject(":ui:ui-material-icons-core:samples", "ui-material/icons/core/samples")
 includeProject(":ui:ui-material-icons-extended", "ui-material/icons/extended")
 includeProject(":ui:ui-material:icons:generator", "ui-material/icons/generator")
-includeProject(":ui:ui-platform", "ui-platform")
-includeProject(":ui:ui-platform:samples", "ui-platform/samples")
 includeProject(":ui:ui-test", "ui-test")
 includeProject(":ui:ui-test-font", "ui-test-font")
 includeProject(":ui:ui-text", "ui-text")
diff --git a/ui/ui-android-view/build.gradle b/ui/ui-android-view/build.gradle
index f8426f3..efb20b7 100644
--- a/ui/ui-android-view/build.gradle
+++ b/ui/ui-android-view/build.gradle
@@ -39,9 +39,7 @@
     api "androidx.annotation:annotation:1.1.0"
 
     implementation project(":compose:compose-runtime")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-platform")
     implementation project(":ui:ui-test")
 
     testImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-android-view/integration-tests/android-view-demos/build.gradle b/ui/ui-android-view/integration-tests/android-view-demos/build.gradle
index 311e3dd..e87fcb9 100644
--- a/ui/ui-android-view/integration-tests/android-view-demos/build.gradle
+++ b/ui/ui-android-view/integration-tests/android-view-demos/build.gradle
@@ -33,8 +33,7 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-android-view")
-    implementation project(":ui:ui-framework")
-    implementation project(":ui:ui-platform")
+    implementation project(":ui:ui-core")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-material")
 }
diff --git a/ui/ui-android-view/samples/build.gradle b/ui/ui-android-view/samples/build.gradle
index 77c8bdf..e6b64d4 100644
--- a/ui/ui-android-view/samples/build.gradle
+++ b/ui/ui-android-view/samples/build.gradle
@@ -33,7 +33,6 @@
     implementation project(":annotation:annotation-sampled")
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-foundation")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-animation-core/build.gradle b/ui/ui-animation-core/build.gradle
index 0b3a44e..439d4cd 100644
--- a/ui/ui-animation-core/build.gradle
+++ b/ui/ui-animation-core/build.gradle
@@ -33,7 +33,6 @@
     implementation(KOTLIN_STDLIB)
 
     api "androidx.annotation:annotation:1.1.0"
-    implementation "androidx.dynamicanimation:dynamicanimation:1.0.0"
     implementation project(":ui:ui-util")
 
     testImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-animation/build.gradle b/ui/ui-animation/build.gradle
index ad258e9a..0c61100 100644
--- a/ui/ui-animation/build.gradle
+++ b/ui/ui-animation/build.gradle
@@ -41,7 +41,6 @@
     api project(":compose:compose-runtime")
     implementation project(":ui:ui-util")
     api project(":ui:ui-core")
-    api project(":ui:ui-framework")
     api project(":ui:ui-layout")
 
     testImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-animation/integration-tests/animation-demos/build.gradle b/ui/ui-animation/integration-tests/animation-demos/build.gradle
index 73e6ead..ec2fa00 100644
--- a/ui/ui-animation/integration-tests/animation-demos/build.gradle
+++ b/ui/ui-animation/integration-tests/animation-demos/build.gradle
@@ -17,7 +17,6 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-text-core")
     implementation project(':ui:ui-animation')
diff --git a/ui/ui-core/OWNERS b/ui/ui-core/OWNERS
index 26955e2..4ccb43c 100644
--- a/ui/ui-core/OWNERS
+++ b/ui/ui-core/OWNERS
@@ -1,4 +1,5 @@
 mount@google.com
+andreykulikov@google.com
 shepshapard@google.com
 ryanmentley@google.com
 njawad@google.com
@@ -8,4 +9,4 @@
 qqd@google.com
 nona@google.com
 haoyuchang@google.com
-siyamed@google.com
\ No newline at end of file
+siyamed@google.com
diff --git a/ui/ui-core/api/0.1.0-dev11.txt b/ui/ui-core/api/0.1.0-dev11.txt
index 45987cc..f88a992 100644
--- a/ui/ui-core/api/0.1.0-dev11.txt
+++ b/ui/ui-core/api/0.1.0-dev11.txt
@@ -1,6 +1,23 @@
 // Signature format: 3.0
+package androidx.compose {
+
+  public final class ComposerCompatKt {
+    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
+  }
+
+}
+
 package androidx.ui.autofill {
 
+  public final class AndroidAutofillDebugUtilsKt {
+  }
+
+  public final class AndroidAutofillKt {
+  }
+
+  public final class AndroidAutofillTypeKt {
+  }
+
   public interface Autofill {
     method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
     method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
@@ -74,7 +91,7 @@
 
   public final class Alignment {
     ctor public Alignment(float verticalBias, float horizontalBias);
-    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public float component2();
     method public androidx.ui.core.Alignment copy(float verticalBias, float horizontalBias);
@@ -118,7 +135,7 @@
 
   public static final class Alignment.Horizontal {
     ctor public Alignment.Horizontal(float bias);
-    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public androidx.ui.core.Alignment.Horizontal copy(float bias);
     method public float getBias();
@@ -139,6 +156,25 @@
     method public static int merge-CBRbNzc(androidx.ui.core.AlignmentLine, int position1, int position2);
   }
 
+  public interface AndroidOwner extends androidx.ui.core.Owner {
+    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
+    method public android.view.View getView();
+    method public void removeAndroidView(android.view.View view);
+    property public abstract android.view.View view;
+  }
+
+  public final class AndroidOwnerKt {
+    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
+    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
+  }
+
+  public final class ClipKt {
+    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
+    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
+    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
+    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
+  }
+
   public final class CombinedModifier implements androidx.ui.core.Modifier {
     ctor public CombinedModifier(androidx.ui.core.Modifier outer, androidx.ui.core.Modifier inner);
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -147,77 +183,47 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public abstract sealed class ComponentNode {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
+    method public final void move(int from, int to, int count);
+    method public final void removeAt(int index, int count);
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+  }
+
+  public final class ComponentNodesKt {
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
   }
 
-  public final class Constraints {
-    method public int component1();
-    method public int component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
-    method public int getMaxHeight();
-    method public int getMaxWidth();
-    method public int getMinHeight();
-    method public int getMinWidth();
-    field public static final androidx.ui.core.Constraints.Companion! Companion;
-  }
-
-  public static final class Constraints.Companion {
-    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
-    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
-    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
-  }
-
-  public final inline class Constraints2 {
-    ctor public Constraints2();
-    method public static long constructor-impl(internal long value);
-    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
-    method public static inline boolean equals-impl(long p, Object? p1);
-    method public static boolean equals-impl0(long p1, long p2);
-    method public static boolean getHasBoundedHeight-impl(long $this);
-    method public static boolean getHasBoundedWidth-impl(long $this);
-    method public static int getMaxHeight-impl(long $this);
-    method public static int getMaxWidth-impl(long $this);
-    method public static int getMinHeight-impl(long $this);
-    method public static int getMinWidth-impl(long $this);
-    method public static inline int hashCode-impl(long p);
-    method public static inline String! toString-impl(long p);
-    field public static final androidx.ui.core.Constraints2.Companion! Companion;
-    field public static final int Infinity = -1073741824; // 0xc0000000
-  }
-
-  public static final class Constraints2.Companion {
-    method public long fixed(int width, int height);
-    method public long fixedHeight(int height);
-    method public long fixedWidth(int width);
-  }
-
-  public final class Constraints2Kt {
-    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
-    method public static long constrain-M1ogGms(long, long size);
-    method public static long enforce-uQjoOwo(long, long otherConstraints);
-    method public static boolean getHasFixedHeight-ybNdgAI(long);
-    method public static boolean getHasFixedWidth-ybNdgAI(long);
-    method public static boolean isZero-ybNdgAI(long);
-    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
-    method public static boolean satisfiedBy-M1ogGms(long, long size);
-  }
-
-  public final class ConstraintsKt {
-    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
-    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
-    method public static boolean isZero(androidx.ui.core.Constraints);
-    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
-    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-  }
-
   public final class ConsumedData {
     ctor public ConsumedData(androidx.ui.unit.PxPosition positionChange, boolean downChange);
     ctor public ConsumedData();
@@ -262,6 +268,21 @@
     method public void dispatchCustomEvent(androidx.ui.core.CustomEvent event);
   }
 
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+  }
+
   public enum Direction {
     enum_constant public static final androidx.ui.core.Direction DOWN;
     enum_constant public static final androidx.ui.core.Direction LEFT;
@@ -315,6 +336,20 @@
     method @Deprecated public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function1<? super androidx.ui.core.ContentDrawScope,kotlin.Unit> onDraw);
   }
 
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
   public interface DrawScope extends androidx.ui.graphics.Canvas androidx.ui.unit.Density {
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public androidx.ui.unit.PxSize getSize();
@@ -322,6 +357,16 @@
     property public abstract androidx.ui.unit.PxSize size;
   }
 
+  public final class DrawShadowKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment End;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
+  }
+
   public final class FixedScale implements androidx.ui.core.ContentScale {
     ctor public FixedScale(float value);
     method public float component1();
@@ -330,6 +375,10 @@
     method public float scale(androidx.ui.unit.PxSize srcSize, androidx.ui.unit.PxSize dstSize);
   }
 
+  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor @Deprecated public FocusNode();
+  }
+
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
@@ -382,9 +431,13 @@
     method public static inline androidx.ui.unit.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
   }
 
-  public enum LayoutDirection {
-    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
-    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  public final class LayoutKt {
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
   public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
@@ -395,6 +448,114 @@
     method public default int minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable measurable, int height, androidx.ui.core.LayoutDirection layoutDirection);
   }
 
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
+    method @Deprecated public boolean getCanMultiMeasure();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method @Deprecated public boolean getHandlesParentData();
+    method public int getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.Modifier getModifier();
+    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public int getWidth();
+    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
+    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isLayingOut();
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public void layout();
+    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public void onInvalidate();
+    method public void place-rRMsBxU(int x, int y);
+    method public void requestRemeasure();
+    method @Deprecated public void setCanMultiMeasure(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method @Deprecated public void setHandlesParentData(boolean p);
+    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property @Deprecated public final boolean canMultiMeasure;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.LayoutCoordinates coordinates;
+    property @Deprecated public final boolean handlesParentData;
+    property public final int height;
+    property public final boolean isLayingOut;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutDirection layoutDirection;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final int width;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
+    ctor @Deprecated public LayoutTag(Object tag);
+    method public Object component1();
+    method public androidx.ui.core.LayoutTag copy(Object tag);
+    method public Object getTag();
+  }
+
+  public final class LayoutTagKt {
+    method public static Object? getTag(androidx.ui.core.Measurable);
+    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
+  }
+
+  public interface LayoutTagParentData {
+    method public Object getTag();
+    property public abstract Object tag;
+  }
+
   public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
   }
@@ -427,6 +588,14 @@
     property public final int width;
   }
 
+  public final class ModelObserver {
+    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
+    method public void clear(Object target);
+    method public void enableModelUpdatesObserving(boolean enabled);
+    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
   public interface Modifier {
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
     method public boolean any(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -452,6 +621,13 @@
     method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ModifierInfo {
+    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method public Object? getExtra();
+    method public androidx.ui.core.Modifier getModifier();
+  }
+
   public interface OnChildPositionedModifier extends androidx.ui.core.Modifier.Element {
     method public void onChildPositioned(androidx.ui.core.LayoutCoordinates coordinates);
   }
@@ -467,6 +643,89 @@
     method @Deprecated public static androidx.ui.core.Modifier onPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
   }
 
+  public final class OpacityKt {
+    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
+    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public interface OwnedLayer {
+    method public void destroy();
+    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
+    method public long getLayerId();
+    method public android.graphics.Matrix getMatrix();
+    method public void invalidate();
+    method public void move(androidx.ui.unit.IntPxPosition position);
+    method public void resize(androidx.ui.unit.IntPxSize size);
+    method public void updateDisplayList();
+    method public void updateLayerProperties();
+    property public abstract long layerId;
+  }
+
+  public interface Owner {
+    method public androidx.ui.unit.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
+    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.unit.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
+    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
+    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
+    method public boolean getShowLayoutBounds();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
+    method public void measureAndLayout();
+    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean requestFocus();
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
+    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
+    property public abstract androidx.ui.autofill.Autofill? autofill;
+    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
+    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
+    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public abstract androidx.ui.unit.Density density;
+    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
+    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
+    property public abstract long measureIteration;
+    property public abstract androidx.ui.core.LayoutNode root;
+    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
+    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
+    property public abstract boolean showLayoutBounds;
+    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
+    field public static final androidx.ui.core.Owner.Companion! Companion;
+  }
+
+  public static final class Owner.Companion {
+    method public boolean getEnableExtraAssertions();
+    method public void setEnableExtraAssertions(boolean p);
+    property public final boolean enableExtraAssertions;
+  }
+
+  public final class PainterModifierKt {
+    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+  }
+
+  public final class ParentDataKt {
+    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public default Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -561,6 +820,42 @@
     method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
   }
 
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
+    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class PointerInputWrapperKt {
+    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
   public final class Ref<T> {
     ctor public Ref();
     method public T? getValue();
@@ -568,6 +863,9 @@
     property public final T? value;
   }
 
+  public final class SavedStateDelegateKt {
+  }
+
   @Deprecated public interface ScaleFit extends androidx.ui.core.ContentScale {
     field @Deprecated public static final androidx.ui.core.ScaleFit.Companion! Companion;
   }
@@ -587,6 +885,10 @@
     property @Deprecated public final androidx.ui.core.FixedScale None;
   }
 
+  public final class TestTagKt {
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final inline class TransformOrigin {
     ctor public TransformOrigin();
     method public static long constructor-impl(internal long value);
@@ -608,6 +910,46 @@
     ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
 
+  public interface WithConstraintsScope {
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public float getMaxHeight();
+    method public float getMaxWidth();
+    method public float getMinHeight();
+    method public float getMinWidth();
+    property public abstract androidx.ui.core.Constraints constraints;
+    property public abstract androidx.ui.core.LayoutDirection layoutDirection;
+    property public abstract float maxHeight;
+    property public abstract float maxWidth;
+    property public abstract float minHeight;
+    property public abstract float minWidth;
+  }
+
+  public final class WrapperKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
+    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+  }
+
   public interface ZIndexModifier extends androidx.ui.core.Modifier.Element {
     method public float getZIndex();
     property public abstract float zIndex;
@@ -619,6 +961,388 @@
 
 }
 
+package androidx.ui.core.clipboard {
+
+  public final class AndroidClipboardManagerKt {
+  }
+
+  public interface ClipboardManager {
+    method public androidx.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusModifierImplKt {
+    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
+  }
+
+  public final class FocusNodeUtilsKt {
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
+    method public static float getDoubleTapSlop();
+    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
+    method public static float getDoubleTapTouchSlop();
+    method public static float getHoverTapSlop();
+    method public static androidx.ui.unit.Duration getHoverTapTimeout();
+    method public static androidx.ui.unit.Duration getJumpTapTimeout();
+    method public static androidx.ui.unit.Duration getLongPressTimeout();
+    method public static float getMaxFlingVelocity();
+    method public static float getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.unit.Duration getPressTimeout();
+    method public static float getScaleSlop();
+    method public static float getTouchSlop();
+    method public static float getWindowTouchSlop();
+    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureFilterKt {
+    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
+  }
+
+  public final class DragGestureFilterKt {
+    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
+  }
+
+  public interface DragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class GestureUtilsKt {
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public final class LongPressDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
+  }
+
+  public interface LongPressDragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
+    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
+  }
+
+  public final class LongPressGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
+  }
+
+  public final class PressIndicatorGestureFilterKt {
+    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
+  }
+
+  public final class RawDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
+  }
+
+  public final class RawPressStartGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = androidx.ui.core.PointerEventPass.PostUp);
+  }
+
+  public final class RawScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
+  }
+
+  public interface RawScaleObserver {
+    method public default void onCancel();
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
+  }
+
+  public interface ScaleObserver {
+    method public default void onCancel();
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
+  }
+
+  public final class ScaleUtilKt {
+  }
+
+  public final class TapGestureFilterKt {
+    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
+  }
+
+  public final class TouchSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class PolyFitLeastSquaresKt {
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
+    method public androidx.ui.unit.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+  }
+
+}
+
+package androidx.ui.core.hapticfeedback {
+
+  public interface HapticFeedback {
+    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
+  }
+
+  public enum HapticFeedbackType {
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public interface FocusManager {
+    method public void blur(androidx.ui.core.input.FocusNode client);
+    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
+    method public void requestFocus(androidx.ui.core.input.FocusNode client);
+  }
+
+  public final class FocusManagerKt {
+  }
+
+  public final class FocusNode {
+    ctor public FocusNode();
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class PointerInputEventData {
+    method public long component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
+    method public long getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+  }
+
+  public abstract class PointerInputFilter {
+    ctor public PointerInputFilter();
+    method public abstract void onCancel();
+    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
+    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
+    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
+    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
+    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
+    method public androidx.ui.text.AnnotatedString getText();
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection component1();
+    method public int component2();
+    method public androidx.ui.core.selection.Selectable component3();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public int getOffset();
+    method public androidx.ui.core.selection.Selectable getSelectable();
+  }
+
+  public final class SelectionContainerKt {
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+  }
+
+  public final class SelectionManagerKt {
+  }
+
+  public interface SelectionRegistrar {
+    method public void onPositionChange();
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isEmpty();
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean isEmpty;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    property public abstract int id;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public final class SemanticsModifierKt {
+    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
+  }
+
+  public final class SemanticsNode {
+    method public androidx.ui.unit.PxBounds getBoundsInRoot();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public androidx.ui.core.ComponentNode getComponentNode();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public androidx.ui.unit.PxBounds getGlobalBounds();
+    method public androidx.ui.unit.PxPosition getGlobalPosition();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.unit.IntPxSize getSize();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
+    method public boolean isSemanticBoundary();
+    method public void setComponentNode(androidx.ui.core.ComponentNode p);
+    property public final androidx.ui.unit.PxBounds boundsInRoot;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final androidx.ui.unit.PxBounds globalBounds;
+    property public final androidx.ui.unit.PxPosition globalPosition;
+    property public final boolean hasChildren;
+    property public final boolean isSemanticBoundary;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.unit.IntPxSize size;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public int generateNewId();
+  }
+
+  public final class SemanticsNodeKt {
+    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
+    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
+    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
+  }
+
+  public final class SemanticsOwnerKt {
+    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
+  }
+
+}
+
+package androidx.ui.core.texttoolbar {
+
+  public interface TextToolbar {
+    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
+    method public void hide();
+    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
+    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
+  }
+
+  public enum TextToolbarStatus {
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
+  }
+
+}
+
+package androidx.ui.core.texttoolbar.actionmodecallback {
+
+  public final class TextActionModeCallbackKt {
+  }
+
+}
+
 package androidx.ui.focus {
 
   public enum FocusDetailedState {
@@ -637,6 +1361,15 @@
     property public abstract androidx.ui.focus.FocusDetailedState focusDetailedState;
   }
 
+  public final class FocusModifierProviderKt {
+    method public static androidx.ui.focus.FocusModifier FocusModifier();
+    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
+  }
+
+  @Deprecated public final class FocusOperator {
+    ctor @Deprecated public FocusOperator();
+  }
+
   public enum FocusState {
     enum_constant public static final androidx.ui.focus.FocusState Focused;
     enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
@@ -647,6 +1380,235 @@
     method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
   }
 
+  public final class FocusableKt {
+    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public String component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public androidx.ui.graphics.vector.VectorGroup component6();
+    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
+  }
+
+  public final class VectorAssetBuilderKt {
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+  }
+
+  public final class VectorAssetKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
+  }
+
+  public final class VectorComposeKt {
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
+    method public androidx.ui.unit.PxSize getIntrinsicSize();
+    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
+    property public androidx.ui.unit.PxSize intrinsicSize;
+  }
+
+  public final class VectorPainterKt {
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    field public static final String RootGroupName = "VectorRootGroup";
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public String component1();
+    method public float component10();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+    method public androidx.ui.graphics.Brush? component3();
+    method public float component4();
+    method public androidx.ui.graphics.Brush? component5();
+    method public float component6();
+    method public float component7();
+    method public androidx.ui.graphics.StrokeCap component8();
+    method public androidx.ui.graphics.StrokeJoin component9();
+    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
+package androidx.ui.node {
+
+  public final class PointerInteropFilterKt {
+  }
+
+  public final class PointerInteropUtilsKt {
+  }
+
+  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
+    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
+    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public android.content.Context getContext();
+    method public Object getRoot();
+  }
+
+  public final class UiComposerKt {
+  }
+
+  public final class ViewInteropKt {
+  }
+
+}
+
+package androidx.ui.platform {
+
+  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
+    ctor public AndroidUriHandler(android.content.Context context);
+    method public void openUri(String uri);
+  }
+
+  public interface UriHandler {
+    method public void openUri(String uri);
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    method public static long colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class FontResourcesKt {
+    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+  }
+
+  public final class ImageResourcesKt {
+    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    method public static boolean booleanResource(@BoolRes int id);
+    method public static float dimensionResource(@DimenRes int id);
+    method public static int[] integerArrayResource(@ArrayRes int id);
+    method public static int integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+  }
+
+  public final class StringResourcesKt {
+    method public static String![] stringArrayResource(@ArrayRes int id);
+    method public static String stringResource(@StringRes int id);
+    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
+  }
+
 }
 
 package androidx.ui.semantics {
@@ -692,6 +1654,10 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
   }
 
+  public final class SemanticsKt {
+    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final class SemanticsProperties {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
@@ -708,6 +1674,29 @@
     field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
   }
 
+  public final class SemanticsPropertiesKt {
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+  }
+
   public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
     ctor public SemanticsPropertyKey(String name);
     method public final String getName();
@@ -722,6 +1711,14 @@
 
 }
 
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
 package androidx.ui.testutils {
 
   public final class PointerInputTestUtilKt {
@@ -742,3 +1739,20 @@
 
 }
 
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
+package androidx.ui.viewinterop {
+
+  public final class ComposedViewKt {
+    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
+    method public static void AndroidView(android.view.View view);
+  }
+
+}
+
diff --git a/ui/ui-core/api/api_lint.ignore b/ui/ui-core/api/api_lint.ignore
index 02812d2..f6b8aeb 100644
--- a/ui/ui-core/api/api_lint.ignore
+++ b/ui/ui-core/api/api_lint.ignore
@@ -1,18 +1,8 @@
 // Baseline format: 1.0
 AcronymName: androidx.ui.core.AlignmentLineKt#merge-CBRbNzc(androidx.ui.core.AlignmentLine, int, int):
     Acronyms should not be capitalized in method names: was `merge-CBRbNzc`, should this be `merge-CbRbNzc`?
-AcronymName: androidx.ui.core.Constraints#copy-Q13GOEE(int, int, int, int):
-    Acronyms should not be capitalized in method names: was `copy-Q13GOEE`, should this be `copy-Q13Goee`?
-AcronymName: androidx.ui.core.Constraints2Kt#getHasFixedHeight-ybNdgAI(long):
-    Acronyms should not be capitalized in method names: was `getHasFixedHeight-ybNdgAI`, should this be `getHasFixedHeight-ybNdgAi`?
-AcronymName: androidx.ui.core.Constraints2Kt#getHasFixedWidth-ybNdgAI(long):
-    Acronyms should not be capitalized in method names: was `getHasFixedWidth-ybNdgAI`, should this be `getHasFixedWidth-ybNdgAi`?
-AcronymName: androidx.ui.core.Constraints2Kt#isZero-ybNdgAI(long):
-    Acronyms should not be capitalized in method names: was `isZero-ybNdgAI`, should this be `isZero-ybNdgAi`?
-AcronymName: androidx.ui.core.Constraints2Kt#offset-xOKVbDg(long, int, int):
-    Acronyms should not be capitalized in method names: was `offset-xOKVbDg`, should this be `offset-xOkVbDg`?
-AcronymName: androidx.ui.core.ConstraintsKt#offset-3L2DHGc(androidx.ui.core.Constraints, int, int):
-    Acronyms should not be capitalized in method names: was `offset-3L2DHGc`, should this be `offset-3L2DhGc`?
+AcronymName: androidx.ui.core.DrawShadowKt#drawShadow-xWKVMPI(androidx.ui.core.Modifier, float, androidx.ui.graphics.Shape, boolean, float):
+    Acronyms should not be capitalized in method names: was `drawShadow-xWKVMPI`, should this be `drawShadow-xWkvmpi`?
 AcronymName: androidx.ui.core.IntrinsicMeasureScope#maxIntrinsicHeight-e0m06WU(androidx.ui.core.IntrinsicMeasurable, int):
     Acronyms should not be capitalized in method names: was `maxIntrinsicHeight-e0m06WU`, should this be `maxIntrinsicHeight-e0m06Wu`?
 AcronymName: androidx.ui.core.IntrinsicMeasureScope#maxIntrinsicWidth-e0m06WU(androidx.ui.core.IntrinsicMeasurable, int):
@@ -29,6 +19,8 @@
     Acronyms should not be capitalized in method names: was `minIntrinsicHeight-QYUUffc`, should this be `minIntrinsicHeight-QyuUffc`?
 AcronymName: androidx.ui.core.LayoutModifier#minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable, int, androidx.ui.core.LayoutDirection):
     Acronyms should not be capitalized in method names: was `minIntrinsicWidth-QYUUffc`, should this be `minIntrinsicWidth-QyuUffc`?
+AcronymName: androidx.ui.graphics.vector.VectorComposeKt#drawVector-DGWccOo(androidx.ui.core.Modifier, float, float, float, float, long, androidx.ui.graphics.BlendMode, androidx.ui.core.Alignment, androidx.ui.core.ContentScale, String, kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>):
+    Acronyms should not be capitalized in method names: was `drawVector-DGWccOo`, should this be `drawVector-DgWccOo`?
 
 
 ArrayReturn: androidx.ui.testutils.PointerInputTestUtilKt#invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange[], androidx.ui.unit.IntPxSize) parameter #1:
@@ -39,6 +31,14 @@
     Method parameter should be Collection<PointerInputChange> (or subclass) instead of raw array; was `androidx.ui.core.PointerInputChange[]`
 
 
+ContextFirst: androidx.ui.core.WrapperKt#subcomposeInto(androidx.ui.core.ComponentNode, android.content.Context, androidx.compose.CompositionReference, kotlin.jvm.functions.Function0<kotlin.Unit>) parameter #1:
+    Context is distinct, so it must be the first argument (method `subcomposeInto`)
+
+
+TopLevelBuilder: androidx.ui.graphics.vector.VectorAssetBuilder:
+    Builder should be defined as inner class: androidx.ui.graphics.vector.VectorAssetBuilder
+
+
 MissingNullability: androidx.ui.core.Constraints2#toString-impl(long):
     Missing nullability on method `toString-impl` return
 MissingNullability: androidx.ui.core.PointerId#toString-impl(long):
diff --git a/ui/ui-core/api/current.txt b/ui/ui-core/api/current.txt
index 45987cc..f88a992 100644
--- a/ui/ui-core/api/current.txt
+++ b/ui/ui-core/api/current.txt
@@ -1,6 +1,23 @@
 // Signature format: 3.0
+package androidx.compose {
+
+  public final class ComposerCompatKt {
+    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
+  }
+
+}
+
 package androidx.ui.autofill {
 
+  public final class AndroidAutofillDebugUtilsKt {
+  }
+
+  public final class AndroidAutofillKt {
+  }
+
+  public final class AndroidAutofillTypeKt {
+  }
+
   public interface Autofill {
     method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
     method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
@@ -74,7 +91,7 @@
 
   public final class Alignment {
     ctor public Alignment(float verticalBias, float horizontalBias);
-    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public float component2();
     method public androidx.ui.core.Alignment copy(float verticalBias, float horizontalBias);
@@ -118,7 +135,7 @@
 
   public static final class Alignment.Horizontal {
     ctor public Alignment.Horizontal(float bias);
-    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public androidx.ui.core.Alignment.Horizontal copy(float bias);
     method public float getBias();
@@ -139,6 +156,25 @@
     method public static int merge-CBRbNzc(androidx.ui.core.AlignmentLine, int position1, int position2);
   }
 
+  public interface AndroidOwner extends androidx.ui.core.Owner {
+    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
+    method public android.view.View getView();
+    method public void removeAndroidView(android.view.View view);
+    property public abstract android.view.View view;
+  }
+
+  public final class AndroidOwnerKt {
+    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
+    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
+  }
+
+  public final class ClipKt {
+    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
+    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
+    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
+    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
+  }
+
   public final class CombinedModifier implements androidx.ui.core.Modifier {
     ctor public CombinedModifier(androidx.ui.core.Modifier outer, androidx.ui.core.Modifier inner);
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -147,77 +183,47 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public abstract sealed class ComponentNode {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
+    method public final void move(int from, int to, int count);
+    method public final void removeAt(int index, int count);
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+  }
+
+  public final class ComponentNodesKt {
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
   }
 
-  public final class Constraints {
-    method public int component1();
-    method public int component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
-    method public int getMaxHeight();
-    method public int getMaxWidth();
-    method public int getMinHeight();
-    method public int getMinWidth();
-    field public static final androidx.ui.core.Constraints.Companion! Companion;
-  }
-
-  public static final class Constraints.Companion {
-    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
-    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
-    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
-  }
-
-  public final inline class Constraints2 {
-    ctor public Constraints2();
-    method public static long constructor-impl(internal long value);
-    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
-    method public static inline boolean equals-impl(long p, Object? p1);
-    method public static boolean equals-impl0(long p1, long p2);
-    method public static boolean getHasBoundedHeight-impl(long $this);
-    method public static boolean getHasBoundedWidth-impl(long $this);
-    method public static int getMaxHeight-impl(long $this);
-    method public static int getMaxWidth-impl(long $this);
-    method public static int getMinHeight-impl(long $this);
-    method public static int getMinWidth-impl(long $this);
-    method public static inline int hashCode-impl(long p);
-    method public static inline String! toString-impl(long p);
-    field public static final androidx.ui.core.Constraints2.Companion! Companion;
-    field public static final int Infinity = -1073741824; // 0xc0000000
-  }
-
-  public static final class Constraints2.Companion {
-    method public long fixed(int width, int height);
-    method public long fixedHeight(int height);
-    method public long fixedWidth(int width);
-  }
-
-  public final class Constraints2Kt {
-    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
-    method public static long constrain-M1ogGms(long, long size);
-    method public static long enforce-uQjoOwo(long, long otherConstraints);
-    method public static boolean getHasFixedHeight-ybNdgAI(long);
-    method public static boolean getHasFixedWidth-ybNdgAI(long);
-    method public static boolean isZero-ybNdgAI(long);
-    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
-    method public static boolean satisfiedBy-M1ogGms(long, long size);
-  }
-
-  public final class ConstraintsKt {
-    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
-    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
-    method public static boolean isZero(androidx.ui.core.Constraints);
-    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
-    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-  }
-
   public final class ConsumedData {
     ctor public ConsumedData(androidx.ui.unit.PxPosition positionChange, boolean downChange);
     ctor public ConsumedData();
@@ -262,6 +268,21 @@
     method public void dispatchCustomEvent(androidx.ui.core.CustomEvent event);
   }
 
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+  }
+
   public enum Direction {
     enum_constant public static final androidx.ui.core.Direction DOWN;
     enum_constant public static final androidx.ui.core.Direction LEFT;
@@ -315,6 +336,20 @@
     method @Deprecated public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function1<? super androidx.ui.core.ContentDrawScope,kotlin.Unit> onDraw);
   }
 
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
   public interface DrawScope extends androidx.ui.graphics.Canvas androidx.ui.unit.Density {
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public androidx.ui.unit.PxSize getSize();
@@ -322,6 +357,16 @@
     property public abstract androidx.ui.unit.PxSize size;
   }
 
+  public final class DrawShadowKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment End;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
+  }
+
   public final class FixedScale implements androidx.ui.core.ContentScale {
     ctor public FixedScale(float value);
     method public float component1();
@@ -330,6 +375,10 @@
     method public float scale(androidx.ui.unit.PxSize srcSize, androidx.ui.unit.PxSize dstSize);
   }
 
+  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor @Deprecated public FocusNode();
+  }
+
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
@@ -382,9 +431,13 @@
     method public static inline androidx.ui.unit.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
   }
 
-  public enum LayoutDirection {
-    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
-    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  public final class LayoutKt {
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
   public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
@@ -395,6 +448,114 @@
     method public default int minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable measurable, int height, androidx.ui.core.LayoutDirection layoutDirection);
   }
 
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
+    method @Deprecated public boolean getCanMultiMeasure();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method @Deprecated public boolean getHandlesParentData();
+    method public int getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.Modifier getModifier();
+    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public int getWidth();
+    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
+    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isLayingOut();
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public void layout();
+    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public void onInvalidate();
+    method public void place-rRMsBxU(int x, int y);
+    method public void requestRemeasure();
+    method @Deprecated public void setCanMultiMeasure(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method @Deprecated public void setHandlesParentData(boolean p);
+    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property @Deprecated public final boolean canMultiMeasure;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.LayoutCoordinates coordinates;
+    property @Deprecated public final boolean handlesParentData;
+    property public final int height;
+    property public final boolean isLayingOut;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutDirection layoutDirection;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final int width;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
+    ctor @Deprecated public LayoutTag(Object tag);
+    method public Object component1();
+    method public androidx.ui.core.LayoutTag copy(Object tag);
+    method public Object getTag();
+  }
+
+  public final class LayoutTagKt {
+    method public static Object? getTag(androidx.ui.core.Measurable);
+    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
+  }
+
+  public interface LayoutTagParentData {
+    method public Object getTag();
+    property public abstract Object tag;
+  }
+
   public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
   }
@@ -427,6 +588,14 @@
     property public final int width;
   }
 
+  public final class ModelObserver {
+    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
+    method public void clear(Object target);
+    method public void enableModelUpdatesObserving(boolean enabled);
+    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
   public interface Modifier {
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
     method public boolean any(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -452,6 +621,13 @@
     method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ModifierInfo {
+    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method public Object? getExtra();
+    method public androidx.ui.core.Modifier getModifier();
+  }
+
   public interface OnChildPositionedModifier extends androidx.ui.core.Modifier.Element {
     method public void onChildPositioned(androidx.ui.core.LayoutCoordinates coordinates);
   }
@@ -467,6 +643,89 @@
     method @Deprecated public static androidx.ui.core.Modifier onPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
   }
 
+  public final class OpacityKt {
+    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
+    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public interface OwnedLayer {
+    method public void destroy();
+    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
+    method public long getLayerId();
+    method public android.graphics.Matrix getMatrix();
+    method public void invalidate();
+    method public void move(androidx.ui.unit.IntPxPosition position);
+    method public void resize(androidx.ui.unit.IntPxSize size);
+    method public void updateDisplayList();
+    method public void updateLayerProperties();
+    property public abstract long layerId;
+  }
+
+  public interface Owner {
+    method public androidx.ui.unit.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
+    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.unit.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
+    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
+    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
+    method public boolean getShowLayoutBounds();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
+    method public void measureAndLayout();
+    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean requestFocus();
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
+    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
+    property public abstract androidx.ui.autofill.Autofill? autofill;
+    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
+    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
+    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public abstract androidx.ui.unit.Density density;
+    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
+    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
+    property public abstract long measureIteration;
+    property public abstract androidx.ui.core.LayoutNode root;
+    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
+    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
+    property public abstract boolean showLayoutBounds;
+    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
+    field public static final androidx.ui.core.Owner.Companion! Companion;
+  }
+
+  public static final class Owner.Companion {
+    method public boolean getEnableExtraAssertions();
+    method public void setEnableExtraAssertions(boolean p);
+    property public final boolean enableExtraAssertions;
+  }
+
+  public final class PainterModifierKt {
+    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+  }
+
+  public final class ParentDataKt {
+    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public default Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -561,6 +820,42 @@
     method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
   }
 
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
+    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class PointerInputWrapperKt {
+    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
   public final class Ref<T> {
     ctor public Ref();
     method public T? getValue();
@@ -568,6 +863,9 @@
     property public final T? value;
   }
 
+  public final class SavedStateDelegateKt {
+  }
+
   @Deprecated public interface ScaleFit extends androidx.ui.core.ContentScale {
     field @Deprecated public static final androidx.ui.core.ScaleFit.Companion! Companion;
   }
@@ -587,6 +885,10 @@
     property @Deprecated public final androidx.ui.core.FixedScale None;
   }
 
+  public final class TestTagKt {
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final inline class TransformOrigin {
     ctor public TransformOrigin();
     method public static long constructor-impl(internal long value);
@@ -608,6 +910,46 @@
     ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
 
+  public interface WithConstraintsScope {
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public float getMaxHeight();
+    method public float getMaxWidth();
+    method public float getMinHeight();
+    method public float getMinWidth();
+    property public abstract androidx.ui.core.Constraints constraints;
+    property public abstract androidx.ui.core.LayoutDirection layoutDirection;
+    property public abstract float maxHeight;
+    property public abstract float maxWidth;
+    property public abstract float minHeight;
+    property public abstract float minWidth;
+  }
+
+  public final class WrapperKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
+    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+  }
+
   public interface ZIndexModifier extends androidx.ui.core.Modifier.Element {
     method public float getZIndex();
     property public abstract float zIndex;
@@ -619,6 +961,388 @@
 
 }
 
+package androidx.ui.core.clipboard {
+
+  public final class AndroidClipboardManagerKt {
+  }
+
+  public interface ClipboardManager {
+    method public androidx.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusModifierImplKt {
+    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
+  }
+
+  public final class FocusNodeUtilsKt {
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
+    method public static float getDoubleTapSlop();
+    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
+    method public static float getDoubleTapTouchSlop();
+    method public static float getHoverTapSlop();
+    method public static androidx.ui.unit.Duration getHoverTapTimeout();
+    method public static androidx.ui.unit.Duration getJumpTapTimeout();
+    method public static androidx.ui.unit.Duration getLongPressTimeout();
+    method public static float getMaxFlingVelocity();
+    method public static float getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.unit.Duration getPressTimeout();
+    method public static float getScaleSlop();
+    method public static float getTouchSlop();
+    method public static float getWindowTouchSlop();
+    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureFilterKt {
+    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
+  }
+
+  public final class DragGestureFilterKt {
+    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
+  }
+
+  public interface DragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class GestureUtilsKt {
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public final class LongPressDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
+  }
+
+  public interface LongPressDragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
+    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
+  }
+
+  public final class LongPressGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
+  }
+
+  public final class PressIndicatorGestureFilterKt {
+    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
+  }
+
+  public final class RawDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
+  }
+
+  public final class RawPressStartGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = androidx.ui.core.PointerEventPass.PostUp);
+  }
+
+  public final class RawScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
+  }
+
+  public interface RawScaleObserver {
+    method public default void onCancel();
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
+  }
+
+  public interface ScaleObserver {
+    method public default void onCancel();
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
+  }
+
+  public final class ScaleUtilKt {
+  }
+
+  public final class TapGestureFilterKt {
+    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
+  }
+
+  public final class TouchSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class PolyFitLeastSquaresKt {
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
+    method public androidx.ui.unit.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+  }
+
+}
+
+package androidx.ui.core.hapticfeedback {
+
+  public interface HapticFeedback {
+    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
+  }
+
+  public enum HapticFeedbackType {
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public interface FocusManager {
+    method public void blur(androidx.ui.core.input.FocusNode client);
+    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
+    method public void requestFocus(androidx.ui.core.input.FocusNode client);
+  }
+
+  public final class FocusManagerKt {
+  }
+
+  public final class FocusNode {
+    ctor public FocusNode();
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class PointerInputEventData {
+    method public long component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
+    method public long getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+  }
+
+  public abstract class PointerInputFilter {
+    ctor public PointerInputFilter();
+    method public abstract void onCancel();
+    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
+    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
+    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
+    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
+    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
+    method public androidx.ui.text.AnnotatedString getText();
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection component1();
+    method public int component2();
+    method public androidx.ui.core.selection.Selectable component3();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public int getOffset();
+    method public androidx.ui.core.selection.Selectable getSelectable();
+  }
+
+  public final class SelectionContainerKt {
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+  }
+
+  public final class SelectionManagerKt {
+  }
+
+  public interface SelectionRegistrar {
+    method public void onPositionChange();
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isEmpty();
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean isEmpty;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    property public abstract int id;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public final class SemanticsModifierKt {
+    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
+  }
+
+  public final class SemanticsNode {
+    method public androidx.ui.unit.PxBounds getBoundsInRoot();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public androidx.ui.core.ComponentNode getComponentNode();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public androidx.ui.unit.PxBounds getGlobalBounds();
+    method public androidx.ui.unit.PxPosition getGlobalPosition();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.unit.IntPxSize getSize();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
+    method public boolean isSemanticBoundary();
+    method public void setComponentNode(androidx.ui.core.ComponentNode p);
+    property public final androidx.ui.unit.PxBounds boundsInRoot;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final androidx.ui.unit.PxBounds globalBounds;
+    property public final androidx.ui.unit.PxPosition globalPosition;
+    property public final boolean hasChildren;
+    property public final boolean isSemanticBoundary;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.unit.IntPxSize size;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public int generateNewId();
+  }
+
+  public final class SemanticsNodeKt {
+    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
+    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
+    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
+  }
+
+  public final class SemanticsOwnerKt {
+    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
+  }
+
+}
+
+package androidx.ui.core.texttoolbar {
+
+  public interface TextToolbar {
+    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
+    method public void hide();
+    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
+    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
+  }
+
+  public enum TextToolbarStatus {
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
+  }
+
+}
+
+package androidx.ui.core.texttoolbar.actionmodecallback {
+
+  public final class TextActionModeCallbackKt {
+  }
+
+}
+
 package androidx.ui.focus {
 
   public enum FocusDetailedState {
@@ -637,6 +1361,15 @@
     property public abstract androidx.ui.focus.FocusDetailedState focusDetailedState;
   }
 
+  public final class FocusModifierProviderKt {
+    method public static androidx.ui.focus.FocusModifier FocusModifier();
+    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
+  }
+
+  @Deprecated public final class FocusOperator {
+    ctor @Deprecated public FocusOperator();
+  }
+
   public enum FocusState {
     enum_constant public static final androidx.ui.focus.FocusState Focused;
     enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
@@ -647,6 +1380,235 @@
     method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
   }
 
+  public final class FocusableKt {
+    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public String component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public androidx.ui.graphics.vector.VectorGroup component6();
+    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
+  }
+
+  public final class VectorAssetBuilderKt {
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+  }
+
+  public final class VectorAssetKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
+  }
+
+  public final class VectorComposeKt {
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
+    method public androidx.ui.unit.PxSize getIntrinsicSize();
+    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
+    property public androidx.ui.unit.PxSize intrinsicSize;
+  }
+
+  public final class VectorPainterKt {
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    field public static final String RootGroupName = "VectorRootGroup";
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public String component1();
+    method public float component10();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+    method public androidx.ui.graphics.Brush? component3();
+    method public float component4();
+    method public androidx.ui.graphics.Brush? component5();
+    method public float component6();
+    method public float component7();
+    method public androidx.ui.graphics.StrokeCap component8();
+    method public androidx.ui.graphics.StrokeJoin component9();
+    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
+package androidx.ui.node {
+
+  public final class PointerInteropFilterKt {
+  }
+
+  public final class PointerInteropUtilsKt {
+  }
+
+  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
+    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
+    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public android.content.Context getContext();
+    method public Object getRoot();
+  }
+
+  public final class UiComposerKt {
+  }
+
+  public final class ViewInteropKt {
+  }
+
+}
+
+package androidx.ui.platform {
+
+  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
+    ctor public AndroidUriHandler(android.content.Context context);
+    method public void openUri(String uri);
+  }
+
+  public interface UriHandler {
+    method public void openUri(String uri);
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    method public static long colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class FontResourcesKt {
+    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+  }
+
+  public final class ImageResourcesKt {
+    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    method public static boolean booleanResource(@BoolRes int id);
+    method public static float dimensionResource(@DimenRes int id);
+    method public static int[] integerArrayResource(@ArrayRes int id);
+    method public static int integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+  }
+
+  public final class StringResourcesKt {
+    method public static String![] stringArrayResource(@ArrayRes int id);
+    method public static String stringResource(@StringRes int id);
+    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
+  }
+
 }
 
 package androidx.ui.semantics {
@@ -692,6 +1654,10 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
   }
 
+  public final class SemanticsKt {
+    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final class SemanticsProperties {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
@@ -708,6 +1674,29 @@
     field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
   }
 
+  public final class SemanticsPropertiesKt {
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+  }
+
   public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
     ctor public SemanticsPropertyKey(String name);
     method public final String getName();
@@ -722,6 +1711,14 @@
 
 }
 
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
 package androidx.ui.testutils {
 
   public final class PointerInputTestUtilKt {
@@ -742,3 +1739,20 @@
 
 }
 
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
+package androidx.ui.viewinterop {
+
+  public final class ComposedViewKt {
+    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
+    method public static void AndroidView(android.view.View view);
+  }
+
+}
+
diff --git a/ui/ui-core/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-core/api/public_plus_experimental_0.1.0-dev11.txt
index 45987cc..e8a7553 100644
--- a/ui/ui-core/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-core/api/public_plus_experimental_0.1.0-dev11.txt
@@ -1,6 +1,23 @@
 // Signature format: 3.0
+package androidx.compose {
+
+  public final class ComposerCompatKt {
+    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
+  }
+
+}
+
 package androidx.ui.autofill {
 
+  public final class AndroidAutofillDebugUtilsKt {
+  }
+
+  public final class AndroidAutofillKt {
+  }
+
+  public final class AndroidAutofillTypeKt {
+  }
+
   public interface Autofill {
     method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
     method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
@@ -74,7 +91,7 @@
 
   public final class Alignment {
     ctor public Alignment(float verticalBias, float horizontalBias);
-    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public float component2();
     method public androidx.ui.core.Alignment copy(float verticalBias, float horizontalBias);
@@ -118,7 +135,7 @@
 
   public static final class Alignment.Horizontal {
     ctor public Alignment.Horizontal(float bias);
-    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public androidx.ui.core.Alignment.Horizontal copy(float bias);
     method public float getBias();
@@ -139,6 +156,25 @@
     method public static int merge-CBRbNzc(androidx.ui.core.AlignmentLine, int position1, int position2);
   }
 
+  public interface AndroidOwner extends androidx.ui.core.Owner {
+    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
+    method public android.view.View getView();
+    method public void removeAndroidView(android.view.View view);
+    property public abstract android.view.View view;
+  }
+
+  public final class AndroidOwnerKt {
+    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
+    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
+  }
+
+  public final class ClipKt {
+    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
+    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
+    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
+    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
+  }
+
   public final class CombinedModifier implements androidx.ui.core.Modifier {
     ctor public CombinedModifier(androidx.ui.core.Modifier outer, androidx.ui.core.Modifier inner);
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -147,77 +183,47 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public abstract sealed class ComponentNode {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
+    method public final void move(int from, int to, int count);
+    method public final void removeAt(int index, int count);
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+  }
+
+  public final class ComponentNodesKt {
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
   }
 
-  public final class Constraints {
-    method public int component1();
-    method public int component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
-    method public int getMaxHeight();
-    method public int getMaxWidth();
-    method public int getMinHeight();
-    method public int getMinWidth();
-    field public static final androidx.ui.core.Constraints.Companion! Companion;
-  }
-
-  public static final class Constraints.Companion {
-    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
-    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
-    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
-  }
-
-  public final inline class Constraints2 {
-    ctor public Constraints2();
-    method public static long constructor-impl(internal long value);
-    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
-    method public static inline boolean equals-impl(long p, Object? p1);
-    method public static boolean equals-impl0(long p1, long p2);
-    method public static boolean getHasBoundedHeight-impl(long $this);
-    method public static boolean getHasBoundedWidth-impl(long $this);
-    method public static int getMaxHeight-impl(long $this);
-    method public static int getMaxWidth-impl(long $this);
-    method public static int getMinHeight-impl(long $this);
-    method public static int getMinWidth-impl(long $this);
-    method public static inline int hashCode-impl(long p);
-    method public static inline String! toString-impl(long p);
-    field public static final androidx.ui.core.Constraints2.Companion! Companion;
-    field public static final int Infinity = -1073741824; // 0xc0000000
-  }
-
-  public static final class Constraints2.Companion {
-    method public long fixed(int width, int height);
-    method public long fixedHeight(int height);
-    method public long fixedWidth(int width);
-  }
-
-  public final class Constraints2Kt {
-    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
-    method public static long constrain-M1ogGms(long, long size);
-    method public static long enforce-uQjoOwo(long, long otherConstraints);
-    method public static boolean getHasFixedHeight-ybNdgAI(long);
-    method public static boolean getHasFixedWidth-ybNdgAI(long);
-    method public static boolean isZero-ybNdgAI(long);
-    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
-    method public static boolean satisfiedBy-M1ogGms(long, long size);
-  }
-
-  public final class ConstraintsKt {
-    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
-    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
-    method public static boolean isZero(androidx.ui.core.Constraints);
-    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
-    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-  }
-
   public final class ConsumedData {
     ctor public ConsumedData(androidx.ui.unit.PxPosition positionChange, boolean downChange);
     ctor public ConsumedData();
@@ -262,6 +268,22 @@
     method public void dispatchCustomEvent(androidx.ui.core.CustomEvent event);
   }
 
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
+  }
+
   public enum Direction {
     enum_constant public static final androidx.ui.core.Direction DOWN;
     enum_constant public static final androidx.ui.core.Direction LEFT;
@@ -315,6 +337,20 @@
     method @Deprecated public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function1<? super androidx.ui.core.ContentDrawScope,kotlin.Unit> onDraw);
   }
 
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
   public interface DrawScope extends androidx.ui.graphics.Canvas androidx.ui.unit.Density {
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public androidx.ui.unit.PxSize getSize();
@@ -322,6 +358,16 @@
     property public abstract androidx.ui.unit.PxSize size;
   }
 
+  public final class DrawShadowKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment End;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
+  }
+
   public final class FixedScale implements androidx.ui.core.ContentScale {
     ctor public FixedScale(float value);
     method public float component1();
@@ -330,6 +376,10 @@
     method public float scale(androidx.ui.unit.PxSize srcSize, androidx.ui.unit.PxSize dstSize);
   }
 
+  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor @Deprecated public FocusNode();
+  }
+
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
@@ -382,9 +432,13 @@
     method public static inline androidx.ui.unit.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
   }
 
-  public enum LayoutDirection {
-    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
-    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  public final class LayoutKt {
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
   public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
@@ -395,6 +449,114 @@
     method public default int minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable measurable, int height, androidx.ui.core.LayoutDirection layoutDirection);
   }
 
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
+    method @Deprecated public boolean getCanMultiMeasure();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method @Deprecated public boolean getHandlesParentData();
+    method public int getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.Modifier getModifier();
+    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public int getWidth();
+    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
+    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isLayingOut();
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public void layout();
+    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public void onInvalidate();
+    method public void place-rRMsBxU(int x, int y);
+    method public void requestRemeasure();
+    method @Deprecated public void setCanMultiMeasure(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method @Deprecated public void setHandlesParentData(boolean p);
+    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property @Deprecated public final boolean canMultiMeasure;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.LayoutCoordinates coordinates;
+    property @Deprecated public final boolean handlesParentData;
+    property public final int height;
+    property public final boolean isLayingOut;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutDirection layoutDirection;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final int width;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
+    ctor @Deprecated public LayoutTag(Object tag);
+    method public Object component1();
+    method public androidx.ui.core.LayoutTag copy(Object tag);
+    method public Object getTag();
+  }
+
+  public final class LayoutTagKt {
+    method public static Object? getTag(androidx.ui.core.Measurable);
+    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
+  }
+
+  public interface LayoutTagParentData {
+    method public Object getTag();
+    property public abstract Object tag;
+  }
+
   public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
   }
@@ -427,6 +589,14 @@
     property public final int width;
   }
 
+  public final class ModelObserver {
+    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
+    method public void clear(Object target);
+    method public void enableModelUpdatesObserving(boolean enabled);
+    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
   public interface Modifier {
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
     method public boolean any(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -452,6 +622,13 @@
     method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ModifierInfo {
+    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method public Object? getExtra();
+    method public androidx.ui.core.Modifier getModifier();
+  }
+
   public interface OnChildPositionedModifier extends androidx.ui.core.Modifier.Element {
     method public void onChildPositioned(androidx.ui.core.LayoutCoordinates coordinates);
   }
@@ -467,6 +644,90 @@
     method @Deprecated public static androidx.ui.core.Modifier onPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
   }
 
+  public final class OpacityKt {
+    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
+    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public interface OwnedLayer {
+    method public void destroy();
+    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
+    method public long getLayerId();
+    method public android.graphics.Matrix getMatrix();
+    method public void invalidate();
+    method public void move(androidx.ui.unit.IntPxPosition position);
+    method public void resize(androidx.ui.unit.IntPxSize size);
+    method public void updateDisplayList();
+    method public void updateLayerProperties();
+    property public abstract long layerId;
+  }
+
+  public interface Owner {
+    method public androidx.ui.unit.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
+    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.unit.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
+    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
+    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
+    method public boolean getShowLayoutBounds();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
+    method public void measureAndLayout();
+    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean requestFocus();
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
+    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
+    property public abstract androidx.ui.autofill.Autofill? autofill;
+    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
+    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
+    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public abstract androidx.ui.unit.Density density;
+    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
+    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
+    property public abstract long measureIteration;
+    property public abstract androidx.ui.core.LayoutNode root;
+    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
+    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
+    property public abstract boolean showLayoutBounds;
+    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
+    field public static final androidx.ui.core.Owner.Companion! Companion;
+  }
+
+  public static final class Owner.Companion {
+    method public boolean getEnableExtraAssertions();
+    method public void setEnableExtraAssertions(boolean p);
+    property public final boolean enableExtraAssertions;
+  }
+
+  public final class PainterModifierKt {
+    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+  }
+
+  public final class ParentDataKt {
+    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public default Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -561,6 +822,42 @@
     method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
   }
 
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
+    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class PointerInputWrapperKt {
+    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
   public final class Ref<T> {
     ctor public Ref();
     method public T? getValue();
@@ -568,6 +865,9 @@
     property public final T? value;
   }
 
+  public final class SavedStateDelegateKt {
+  }
+
   @Deprecated public interface ScaleFit extends androidx.ui.core.ContentScale {
     field @Deprecated public static final androidx.ui.core.ScaleFit.Companion! Companion;
   }
@@ -587,6 +887,10 @@
     property @Deprecated public final androidx.ui.core.FixedScale None;
   }
 
+  public final class TestTagKt {
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final inline class TransformOrigin {
     ctor public TransformOrigin();
     method public static long constructor-impl(internal long value);
@@ -608,6 +912,46 @@
     ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
 
+  public interface WithConstraintsScope {
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public float getMaxHeight();
+    method public float getMaxWidth();
+    method public float getMinHeight();
+    method public float getMinWidth();
+    property public abstract androidx.ui.core.Constraints constraints;
+    property public abstract androidx.ui.core.LayoutDirection layoutDirection;
+    property public abstract float maxHeight;
+    property public abstract float maxWidth;
+    property public abstract float minHeight;
+    property public abstract float minWidth;
+  }
+
+  public final class WrapperKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
+    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+  }
+
   public interface ZIndexModifier extends androidx.ui.core.Modifier.Element {
     method public float getZIndex();
     property public abstract float zIndex;
@@ -619,6 +963,388 @@
 
 }
 
+package androidx.ui.core.clipboard {
+
+  public final class AndroidClipboardManagerKt {
+  }
+
+  public interface ClipboardManager {
+    method public androidx.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusModifierImplKt {
+    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
+  }
+
+  public final class FocusNodeUtilsKt {
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
+    method public static float getDoubleTapSlop();
+    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
+    method public static float getDoubleTapTouchSlop();
+    method public static float getHoverTapSlop();
+    method public static androidx.ui.unit.Duration getHoverTapTimeout();
+    method public static androidx.ui.unit.Duration getJumpTapTimeout();
+    method public static androidx.ui.unit.Duration getLongPressTimeout();
+    method public static float getMaxFlingVelocity();
+    method public static float getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.unit.Duration getPressTimeout();
+    method public static float getScaleSlop();
+    method public static float getTouchSlop();
+    method public static float getWindowTouchSlop();
+    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureFilterKt {
+    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
+  }
+
+  public final class DragGestureFilterKt {
+    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
+  }
+
+  public interface DragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class GestureUtilsKt {
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public final class LongPressDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
+  }
+
+  public interface LongPressDragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
+    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
+  }
+
+  public final class LongPressGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
+  }
+
+  public final class PressIndicatorGestureFilterKt {
+    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
+  }
+
+  public final class RawDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
+  }
+
+  public final class RawPressStartGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = androidx.ui.core.PointerEventPass.PostUp);
+  }
+
+  public final class RawScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
+  }
+
+  public interface RawScaleObserver {
+    method public default void onCancel();
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
+  }
+
+  public interface ScaleObserver {
+    method public default void onCancel();
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
+  }
+
+  public final class ScaleUtilKt {
+  }
+
+  public final class TapGestureFilterKt {
+    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
+  }
+
+  public final class TouchSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class PolyFitLeastSquaresKt {
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
+    method public androidx.ui.unit.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+  }
+
+}
+
+package androidx.ui.core.hapticfeedback {
+
+  public interface HapticFeedback {
+    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
+  }
+
+  public enum HapticFeedbackType {
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public interface FocusManager {
+    method public void blur(androidx.ui.core.input.FocusNode client);
+    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
+    method public void requestFocus(androidx.ui.core.input.FocusNode client);
+  }
+
+  public final class FocusManagerKt {
+  }
+
+  public final class FocusNode {
+    ctor public FocusNode();
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class PointerInputEventData {
+    method public long component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
+    method public long getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+  }
+
+  public abstract class PointerInputFilter {
+    ctor public PointerInputFilter();
+    method public abstract void onCancel();
+    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
+    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
+    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
+    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
+    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
+    method public androidx.ui.text.AnnotatedString getText();
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection component1();
+    method public int component2();
+    method public androidx.ui.core.selection.Selectable component3();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public int getOffset();
+    method public androidx.ui.core.selection.Selectable getSelectable();
+  }
+
+  public final class SelectionContainerKt {
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+  }
+
+  public final class SelectionManagerKt {
+  }
+
+  public interface SelectionRegistrar {
+    method public void onPositionChange();
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isEmpty();
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean isEmpty;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    property public abstract int id;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public final class SemanticsModifierKt {
+    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
+  }
+
+  public final class SemanticsNode {
+    method public androidx.ui.unit.PxBounds getBoundsInRoot();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public androidx.ui.core.ComponentNode getComponentNode();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public androidx.ui.unit.PxBounds getGlobalBounds();
+    method public androidx.ui.unit.PxPosition getGlobalPosition();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.unit.IntPxSize getSize();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
+    method public boolean isSemanticBoundary();
+    method public void setComponentNode(androidx.ui.core.ComponentNode p);
+    property public final androidx.ui.unit.PxBounds boundsInRoot;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final androidx.ui.unit.PxBounds globalBounds;
+    property public final androidx.ui.unit.PxPosition globalPosition;
+    property public final boolean hasChildren;
+    property public final boolean isSemanticBoundary;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.unit.IntPxSize size;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public int generateNewId();
+  }
+
+  public final class SemanticsNodeKt {
+    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
+    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
+    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
+  }
+
+  public final class SemanticsOwnerKt {
+    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
+  }
+
+}
+
+package androidx.ui.core.texttoolbar {
+
+  public interface TextToolbar {
+    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
+    method public void hide();
+    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
+    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
+  }
+
+  public enum TextToolbarStatus {
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
+  }
+
+}
+
+package androidx.ui.core.texttoolbar.actionmodecallback {
+
+  public final class TextActionModeCallbackKt {
+  }
+
+}
+
 package androidx.ui.focus {
 
   public enum FocusDetailedState {
@@ -637,6 +1363,15 @@
     property public abstract androidx.ui.focus.FocusDetailedState focusDetailedState;
   }
 
+  public final class FocusModifierProviderKt {
+    method public static androidx.ui.focus.FocusModifier FocusModifier();
+    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
+  }
+
+  @Deprecated public final class FocusOperator {
+    ctor @Deprecated public FocusOperator();
+  }
+
   public enum FocusState {
     enum_constant public static final androidx.ui.focus.FocusState Focused;
     enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
@@ -647,6 +1382,235 @@
     method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
   }
 
+  public final class FocusableKt {
+    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public String component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public androidx.ui.graphics.vector.VectorGroup component6();
+    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
+  }
+
+  public final class VectorAssetBuilderKt {
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+  }
+
+  public final class VectorAssetKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
+  }
+
+  public final class VectorComposeKt {
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
+    method public androidx.ui.unit.PxSize getIntrinsicSize();
+    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
+    property public androidx.ui.unit.PxSize intrinsicSize;
+  }
+
+  public final class VectorPainterKt {
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    field public static final String RootGroupName = "VectorRootGroup";
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public String component1();
+    method public float component10();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+    method public androidx.ui.graphics.Brush? component3();
+    method public float component4();
+    method public androidx.ui.graphics.Brush? component5();
+    method public float component6();
+    method public float component7();
+    method public androidx.ui.graphics.StrokeCap component8();
+    method public androidx.ui.graphics.StrokeJoin component9();
+    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
+package androidx.ui.node {
+
+  public final class PointerInteropFilterKt {
+  }
+
+  public final class PointerInteropUtilsKt {
+  }
+
+  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
+    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
+    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public android.content.Context getContext();
+    method public Object getRoot();
+  }
+
+  public final class UiComposerKt {
+  }
+
+  public final class ViewInteropKt {
+  }
+
+}
+
+package androidx.ui.platform {
+
+  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
+    ctor public AndroidUriHandler(android.content.Context context);
+    method public void openUri(String uri);
+  }
+
+  public interface UriHandler {
+    method public void openUri(String uri);
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    method public static long colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class FontResourcesKt {
+    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+  }
+
+  public final class ImageResourcesKt {
+    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    method public static boolean booleanResource(@BoolRes int id);
+    method public static float dimensionResource(@DimenRes int id);
+    method public static int[] integerArrayResource(@ArrayRes int id);
+    method public static int integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+  }
+
+  public final class StringResourcesKt {
+    method public static String![] stringArrayResource(@ArrayRes int id);
+    method public static String stringResource(@StringRes int id);
+    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
+  }
+
 }
 
 package androidx.ui.semantics {
@@ -692,6 +1656,10 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
   }
 
+  public final class SemanticsKt {
+    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final class SemanticsProperties {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
@@ -708,6 +1676,29 @@
     field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
   }
 
+  public final class SemanticsPropertiesKt {
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+  }
+
   public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
     ctor public SemanticsPropertyKey(String name);
     method public final String getName();
@@ -722,6 +1713,14 @@
 
 }
 
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
 package androidx.ui.testutils {
 
   public final class PointerInputTestUtilKt {
@@ -742,3 +1741,20 @@
 
 }
 
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
+package androidx.ui.viewinterop {
+
+  public final class ComposedViewKt {
+    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
+    method public static void AndroidView(android.view.View view);
+  }
+
+}
+
diff --git a/ui/ui-core/api/public_plus_experimental_current.txt b/ui/ui-core/api/public_plus_experimental_current.txt
index 45987cc..e8a7553 100644
--- a/ui/ui-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-core/api/public_plus_experimental_current.txt
@@ -1,6 +1,23 @@
 // Signature format: 3.0
+package androidx.compose {
+
+  public final class ComposerCompatKt {
+    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
+  }
+
+}
+
 package androidx.ui.autofill {
 
+  public final class AndroidAutofillDebugUtilsKt {
+  }
+
+  public final class AndroidAutofillKt {
+  }
+
+  public final class AndroidAutofillTypeKt {
+  }
+
   public interface Autofill {
     method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
     method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
@@ -74,7 +91,7 @@
 
   public final class Alignment {
     ctor public Alignment(float verticalBias, float horizontalBias);
-    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public float component2();
     method public androidx.ui.core.Alignment copy(float verticalBias, float horizontalBias);
@@ -118,7 +135,7 @@
 
   public static final class Alignment.Horizontal {
     ctor public Alignment.Horizontal(float bias);
-    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public androidx.ui.core.Alignment.Horizontal copy(float bias);
     method public float getBias();
@@ -139,6 +156,25 @@
     method public static int merge-CBRbNzc(androidx.ui.core.AlignmentLine, int position1, int position2);
   }
 
+  public interface AndroidOwner extends androidx.ui.core.Owner {
+    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
+    method public android.view.View getView();
+    method public void removeAndroidView(android.view.View view);
+    property public abstract android.view.View view;
+  }
+
+  public final class AndroidOwnerKt {
+    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
+    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
+  }
+
+  public final class ClipKt {
+    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
+    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
+    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
+    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
+  }
+
   public final class CombinedModifier implements androidx.ui.core.Modifier {
     ctor public CombinedModifier(androidx.ui.core.Modifier outer, androidx.ui.core.Modifier inner);
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -147,77 +183,47 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public abstract sealed class ComponentNode {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
+    method public final void move(int from, int to, int count);
+    method public final void removeAt(int index, int count);
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+  }
+
+  public final class ComponentNodesKt {
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
   }
 
-  public final class Constraints {
-    method public int component1();
-    method public int component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
-    method public int getMaxHeight();
-    method public int getMaxWidth();
-    method public int getMinHeight();
-    method public int getMinWidth();
-    field public static final androidx.ui.core.Constraints.Companion! Companion;
-  }
-
-  public static final class Constraints.Companion {
-    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
-    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
-    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
-  }
-
-  public final inline class Constraints2 {
-    ctor public Constraints2();
-    method public static long constructor-impl(internal long value);
-    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
-    method public static inline boolean equals-impl(long p, Object? p1);
-    method public static boolean equals-impl0(long p1, long p2);
-    method public static boolean getHasBoundedHeight-impl(long $this);
-    method public static boolean getHasBoundedWidth-impl(long $this);
-    method public static int getMaxHeight-impl(long $this);
-    method public static int getMaxWidth-impl(long $this);
-    method public static int getMinHeight-impl(long $this);
-    method public static int getMinWidth-impl(long $this);
-    method public static inline int hashCode-impl(long p);
-    method public static inline String! toString-impl(long p);
-    field public static final androidx.ui.core.Constraints2.Companion! Companion;
-    field public static final int Infinity = -1073741824; // 0xc0000000
-  }
-
-  public static final class Constraints2.Companion {
-    method public long fixed(int width, int height);
-    method public long fixedHeight(int height);
-    method public long fixedWidth(int width);
-  }
-
-  public final class Constraints2Kt {
-    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
-    method public static long constrain-M1ogGms(long, long size);
-    method public static long enforce-uQjoOwo(long, long otherConstraints);
-    method public static boolean getHasFixedHeight-ybNdgAI(long);
-    method public static boolean getHasFixedWidth-ybNdgAI(long);
-    method public static boolean isZero-ybNdgAI(long);
-    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
-    method public static boolean satisfiedBy-M1ogGms(long, long size);
-  }
-
-  public final class ConstraintsKt {
-    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
-    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
-    method public static boolean isZero(androidx.ui.core.Constraints);
-    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
-    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-  }
-
   public final class ConsumedData {
     ctor public ConsumedData(androidx.ui.unit.PxPosition positionChange, boolean downChange);
     ctor public ConsumedData();
@@ -262,6 +268,22 @@
     method public void dispatchCustomEvent(androidx.ui.core.CustomEvent event);
   }
 
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
+  }
+
   public enum Direction {
     enum_constant public static final androidx.ui.core.Direction DOWN;
     enum_constant public static final androidx.ui.core.Direction LEFT;
@@ -315,6 +337,20 @@
     method @Deprecated public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function1<? super androidx.ui.core.ContentDrawScope,kotlin.Unit> onDraw);
   }
 
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
   public interface DrawScope extends androidx.ui.graphics.Canvas androidx.ui.unit.Density {
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public androidx.ui.unit.PxSize getSize();
@@ -322,6 +358,16 @@
     property public abstract androidx.ui.unit.PxSize size;
   }
 
+  public final class DrawShadowKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment End;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
+  }
+
   public final class FixedScale implements androidx.ui.core.ContentScale {
     ctor public FixedScale(float value);
     method public float component1();
@@ -330,6 +376,10 @@
     method public float scale(androidx.ui.unit.PxSize srcSize, androidx.ui.unit.PxSize dstSize);
   }
 
+  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor @Deprecated public FocusNode();
+  }
+
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
@@ -382,9 +432,13 @@
     method public static inline androidx.ui.unit.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
   }
 
-  public enum LayoutDirection {
-    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
-    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  public final class LayoutKt {
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
   public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
@@ -395,6 +449,114 @@
     method public default int minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable measurable, int height, androidx.ui.core.LayoutDirection layoutDirection);
   }
 
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
+    method @Deprecated public boolean getCanMultiMeasure();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method @Deprecated public boolean getHandlesParentData();
+    method public int getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.Modifier getModifier();
+    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public int getWidth();
+    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
+    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isLayingOut();
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public void layout();
+    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public void onInvalidate();
+    method public void place-rRMsBxU(int x, int y);
+    method public void requestRemeasure();
+    method @Deprecated public void setCanMultiMeasure(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method @Deprecated public void setHandlesParentData(boolean p);
+    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property @Deprecated public final boolean canMultiMeasure;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.LayoutCoordinates coordinates;
+    property @Deprecated public final boolean handlesParentData;
+    property public final int height;
+    property public final boolean isLayingOut;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutDirection layoutDirection;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final int width;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
+    ctor @Deprecated public LayoutTag(Object tag);
+    method public Object component1();
+    method public androidx.ui.core.LayoutTag copy(Object tag);
+    method public Object getTag();
+  }
+
+  public final class LayoutTagKt {
+    method public static Object? getTag(androidx.ui.core.Measurable);
+    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
+  }
+
+  public interface LayoutTagParentData {
+    method public Object getTag();
+    property public abstract Object tag;
+  }
+
   public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
   }
@@ -427,6 +589,14 @@
     property public final int width;
   }
 
+  public final class ModelObserver {
+    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
+    method public void clear(Object target);
+    method public void enableModelUpdatesObserving(boolean enabled);
+    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
   public interface Modifier {
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
     method public boolean any(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -452,6 +622,13 @@
     method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ModifierInfo {
+    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method public Object? getExtra();
+    method public androidx.ui.core.Modifier getModifier();
+  }
+
   public interface OnChildPositionedModifier extends androidx.ui.core.Modifier.Element {
     method public void onChildPositioned(androidx.ui.core.LayoutCoordinates coordinates);
   }
@@ -467,6 +644,90 @@
     method @Deprecated public static androidx.ui.core.Modifier onPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
   }
 
+  public final class OpacityKt {
+    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
+    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public interface OwnedLayer {
+    method public void destroy();
+    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
+    method public long getLayerId();
+    method public android.graphics.Matrix getMatrix();
+    method public void invalidate();
+    method public void move(androidx.ui.unit.IntPxPosition position);
+    method public void resize(androidx.ui.unit.IntPxSize size);
+    method public void updateDisplayList();
+    method public void updateLayerProperties();
+    property public abstract long layerId;
+  }
+
+  public interface Owner {
+    method public androidx.ui.unit.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
+    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.unit.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
+    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
+    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
+    method public boolean getShowLayoutBounds();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
+    method public void measureAndLayout();
+    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean requestFocus();
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
+    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
+    property public abstract androidx.ui.autofill.Autofill? autofill;
+    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
+    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
+    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public abstract androidx.ui.unit.Density density;
+    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
+    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
+    property public abstract long measureIteration;
+    property public abstract androidx.ui.core.LayoutNode root;
+    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
+    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
+    property public abstract boolean showLayoutBounds;
+    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
+    field public static final androidx.ui.core.Owner.Companion! Companion;
+  }
+
+  public static final class Owner.Companion {
+    method public boolean getEnableExtraAssertions();
+    method public void setEnableExtraAssertions(boolean p);
+    property public final boolean enableExtraAssertions;
+  }
+
+  public final class PainterModifierKt {
+    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+  }
+
+  public final class ParentDataKt {
+    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public default Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -561,6 +822,42 @@
     method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
   }
 
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
+    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class PointerInputWrapperKt {
+    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
   public final class Ref<T> {
     ctor public Ref();
     method public T? getValue();
@@ -568,6 +865,9 @@
     property public final T? value;
   }
 
+  public final class SavedStateDelegateKt {
+  }
+
   @Deprecated public interface ScaleFit extends androidx.ui.core.ContentScale {
     field @Deprecated public static final androidx.ui.core.ScaleFit.Companion! Companion;
   }
@@ -587,6 +887,10 @@
     property @Deprecated public final androidx.ui.core.FixedScale None;
   }
 
+  public final class TestTagKt {
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final inline class TransformOrigin {
     ctor public TransformOrigin();
     method public static long constructor-impl(internal long value);
@@ -608,6 +912,46 @@
     ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
 
+  public interface WithConstraintsScope {
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public float getMaxHeight();
+    method public float getMaxWidth();
+    method public float getMinHeight();
+    method public float getMinWidth();
+    property public abstract androidx.ui.core.Constraints constraints;
+    property public abstract androidx.ui.core.LayoutDirection layoutDirection;
+    property public abstract float maxHeight;
+    property public abstract float maxWidth;
+    property public abstract float minHeight;
+    property public abstract float minWidth;
+  }
+
+  public final class WrapperKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
+    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+  }
+
   public interface ZIndexModifier extends androidx.ui.core.Modifier.Element {
     method public float getZIndex();
     property public abstract float zIndex;
@@ -619,6 +963,388 @@
 
 }
 
+package androidx.ui.core.clipboard {
+
+  public final class AndroidClipboardManagerKt {
+  }
+
+  public interface ClipboardManager {
+    method public androidx.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusModifierImplKt {
+    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
+  }
+
+  public final class FocusNodeUtilsKt {
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
+    method public static float getDoubleTapSlop();
+    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
+    method public static float getDoubleTapTouchSlop();
+    method public static float getHoverTapSlop();
+    method public static androidx.ui.unit.Duration getHoverTapTimeout();
+    method public static androidx.ui.unit.Duration getJumpTapTimeout();
+    method public static androidx.ui.unit.Duration getLongPressTimeout();
+    method public static float getMaxFlingVelocity();
+    method public static float getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.unit.Duration getPressTimeout();
+    method public static float getScaleSlop();
+    method public static float getTouchSlop();
+    method public static float getWindowTouchSlop();
+    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureFilterKt {
+    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
+  }
+
+  public final class DragGestureFilterKt {
+    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
+  }
+
+  public interface DragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class GestureUtilsKt {
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public final class LongPressDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
+  }
+
+  public interface LongPressDragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
+    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
+  }
+
+  public final class LongPressGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
+  }
+
+  public final class PressIndicatorGestureFilterKt {
+    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
+  }
+
+  public final class RawDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
+  }
+
+  public final class RawPressStartGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = androidx.ui.core.PointerEventPass.PostUp);
+  }
+
+  public final class RawScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
+  }
+
+  public interface RawScaleObserver {
+    method public default void onCancel();
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
+  }
+
+  public interface ScaleObserver {
+    method public default void onCancel();
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
+  }
+
+  public final class ScaleUtilKt {
+  }
+
+  public final class TapGestureFilterKt {
+    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
+  }
+
+  public final class TouchSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class PolyFitLeastSquaresKt {
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
+    method public androidx.ui.unit.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+  }
+
+}
+
+package androidx.ui.core.hapticfeedback {
+
+  public interface HapticFeedback {
+    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
+  }
+
+  public enum HapticFeedbackType {
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public interface FocusManager {
+    method public void blur(androidx.ui.core.input.FocusNode client);
+    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
+    method public void requestFocus(androidx.ui.core.input.FocusNode client);
+  }
+
+  public final class FocusManagerKt {
+  }
+
+  public final class FocusNode {
+    ctor public FocusNode();
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class PointerInputEventData {
+    method public long component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
+    method public long getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+  }
+
+  public abstract class PointerInputFilter {
+    ctor public PointerInputFilter();
+    method public abstract void onCancel();
+    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
+    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
+    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
+    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
+    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
+    method public androidx.ui.text.AnnotatedString getText();
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection component1();
+    method public int component2();
+    method public androidx.ui.core.selection.Selectable component3();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public int getOffset();
+    method public androidx.ui.core.selection.Selectable getSelectable();
+  }
+
+  public final class SelectionContainerKt {
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+  }
+
+  public final class SelectionManagerKt {
+  }
+
+  public interface SelectionRegistrar {
+    method public void onPositionChange();
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isEmpty();
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean isEmpty;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    property public abstract int id;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public final class SemanticsModifierKt {
+    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
+  }
+
+  public final class SemanticsNode {
+    method public androidx.ui.unit.PxBounds getBoundsInRoot();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public androidx.ui.core.ComponentNode getComponentNode();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public androidx.ui.unit.PxBounds getGlobalBounds();
+    method public androidx.ui.unit.PxPosition getGlobalPosition();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.unit.IntPxSize getSize();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
+    method public boolean isSemanticBoundary();
+    method public void setComponentNode(androidx.ui.core.ComponentNode p);
+    property public final androidx.ui.unit.PxBounds boundsInRoot;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final androidx.ui.unit.PxBounds globalBounds;
+    property public final androidx.ui.unit.PxPosition globalPosition;
+    property public final boolean hasChildren;
+    property public final boolean isSemanticBoundary;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.unit.IntPxSize size;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public int generateNewId();
+  }
+
+  public final class SemanticsNodeKt {
+    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
+    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
+    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
+  }
+
+  public final class SemanticsOwnerKt {
+    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
+  }
+
+}
+
+package androidx.ui.core.texttoolbar {
+
+  public interface TextToolbar {
+    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
+    method public void hide();
+    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
+    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
+  }
+
+  public enum TextToolbarStatus {
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
+  }
+
+}
+
+package androidx.ui.core.texttoolbar.actionmodecallback {
+
+  public final class TextActionModeCallbackKt {
+  }
+
+}
+
 package androidx.ui.focus {
 
   public enum FocusDetailedState {
@@ -637,6 +1363,15 @@
     property public abstract androidx.ui.focus.FocusDetailedState focusDetailedState;
   }
 
+  public final class FocusModifierProviderKt {
+    method public static androidx.ui.focus.FocusModifier FocusModifier();
+    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
+  }
+
+  @Deprecated public final class FocusOperator {
+    ctor @Deprecated public FocusOperator();
+  }
+
   public enum FocusState {
     enum_constant public static final androidx.ui.focus.FocusState Focused;
     enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
@@ -647,6 +1382,235 @@
     method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
   }
 
+  public final class FocusableKt {
+    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public String component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public androidx.ui.graphics.vector.VectorGroup component6();
+    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
+  }
+
+  public final class VectorAssetBuilderKt {
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+  }
+
+  public final class VectorAssetKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
+  }
+
+  public final class VectorComposeKt {
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
+    method public androidx.ui.unit.PxSize getIntrinsicSize();
+    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
+    property public androidx.ui.unit.PxSize intrinsicSize;
+  }
+
+  public final class VectorPainterKt {
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    field public static final String RootGroupName = "VectorRootGroup";
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public String component1();
+    method public float component10();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+    method public androidx.ui.graphics.Brush? component3();
+    method public float component4();
+    method public androidx.ui.graphics.Brush? component5();
+    method public float component6();
+    method public float component7();
+    method public androidx.ui.graphics.StrokeCap component8();
+    method public androidx.ui.graphics.StrokeJoin component9();
+    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
+package androidx.ui.node {
+
+  public final class PointerInteropFilterKt {
+  }
+
+  public final class PointerInteropUtilsKt {
+  }
+
+  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
+    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
+    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public android.content.Context getContext();
+    method public Object getRoot();
+  }
+
+  public final class UiComposerKt {
+  }
+
+  public final class ViewInteropKt {
+  }
+
+}
+
+package androidx.ui.platform {
+
+  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
+    ctor public AndroidUriHandler(android.content.Context context);
+    method public void openUri(String uri);
+  }
+
+  public interface UriHandler {
+    method public void openUri(String uri);
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    method public static long colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class FontResourcesKt {
+    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+  }
+
+  public final class ImageResourcesKt {
+    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    method public static boolean booleanResource(@BoolRes int id);
+    method public static float dimensionResource(@DimenRes int id);
+    method public static int[] integerArrayResource(@ArrayRes int id);
+    method public static int integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+  }
+
+  public final class StringResourcesKt {
+    method public static String![] stringArrayResource(@ArrayRes int id);
+    method public static String stringResource(@StringRes int id);
+    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
+  }
+
 }
 
 package androidx.ui.semantics {
@@ -692,6 +1656,10 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
   }
 
+  public final class SemanticsKt {
+    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final class SemanticsProperties {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
@@ -708,6 +1676,29 @@
     field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
   }
 
+  public final class SemanticsPropertiesKt {
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+  }
+
   public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
     ctor public SemanticsPropertyKey(String name);
     method public final String getName();
@@ -722,6 +1713,14 @@
 
 }
 
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
 package androidx.ui.testutils {
 
   public final class PointerInputTestUtilKt {
@@ -742,3 +1741,20 @@
 
 }
 
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
+package androidx.ui.viewinterop {
+
+  public final class ComposedViewKt {
+    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
+    method public static void AndroidView(android.view.View view);
+  }
+
+}
+
diff --git a/ui/ui-core/api/restricted_0.1.0-dev11.txt b/ui/ui-core/api/restricted_0.1.0-dev11.txt
index 45987cc..a74ec03 100644
--- a/ui/ui-core/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-core/api/restricted_0.1.0-dev11.txt
@@ -1,6 +1,23 @@
 // Signature format: 3.0
+package androidx.compose {
+
+  public final class ComposerCompatKt {
+    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
+  }
+
+}
+
 package androidx.ui.autofill {
 
+  public final class AndroidAutofillDebugUtilsKt {
+  }
+
+  public final class AndroidAutofillKt {
+  }
+
+  public final class AndroidAutofillTypeKt {
+  }
+
   public interface Autofill {
     method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
     method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
@@ -74,7 +91,7 @@
 
   public final class Alignment {
     ctor public Alignment(float verticalBias, float horizontalBias);
-    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public float component2();
     method public androidx.ui.core.Alignment copy(float verticalBias, float horizontalBias);
@@ -118,7 +135,7 @@
 
   public static final class Alignment.Horizontal {
     ctor public Alignment.Horizontal(float bias);
-    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public androidx.ui.core.Alignment.Horizontal copy(float bias);
     method public float getBias();
@@ -139,6 +156,31 @@
     method public static int merge-CBRbNzc(androidx.ui.core.AlignmentLine, int position1, int position2);
   }
 
+  public interface AndroidOwner extends androidx.ui.core.Owner {
+    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
+    method public android.view.View getView();
+    method public void removeAndroidView(android.view.View view);
+    property public abstract android.view.View view;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class AndroidOwner.Companion {
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? getOnAndroidOwnerCreatedCallback();
+    method public void setOnAndroidOwnerCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.ui.core.AndroidOwner,kotlin.Unit>? p);
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? onAndroidOwnerCreatedCallback;
+  }
+
+  public final class AndroidOwnerKt {
+    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
+    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
+  }
+
+  public final class ClipKt {
+    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
+    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
+    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
+    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
+  }
+
   public final class CombinedModifier implements androidx.ui.core.Modifier {
     ctor public CombinedModifier(androidx.ui.core.Modifier outer, androidx.ui.core.Modifier inner);
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -147,77 +189,47 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public abstract sealed class ComponentNode {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
+    method public final void move(int from, int to, int count);
+    method public final void removeAt(int index, int count);
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+  }
+
+  public final class ComponentNodesKt {
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
   }
 
-  public final class Constraints {
-    method public int component1();
-    method public int component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
-    method public int getMaxHeight();
-    method public int getMaxWidth();
-    method public int getMinHeight();
-    method public int getMinWidth();
-    field public static final androidx.ui.core.Constraints.Companion! Companion;
-  }
-
-  public static final class Constraints.Companion {
-    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
-    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
-    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
-  }
-
-  public final inline class Constraints2 {
-    ctor public Constraints2();
-    method public static long constructor-impl(internal long value);
-    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
-    method public static inline boolean equals-impl(long p, Object? p1);
-    method public static boolean equals-impl0(long p1, long p2);
-    method public static boolean getHasBoundedHeight-impl(long $this);
-    method public static boolean getHasBoundedWidth-impl(long $this);
-    method public static int getMaxHeight-impl(long $this);
-    method public static int getMaxWidth-impl(long $this);
-    method public static int getMinHeight-impl(long $this);
-    method public static int getMinWidth-impl(long $this);
-    method public static inline int hashCode-impl(long p);
-    method public static inline String! toString-impl(long p);
-    field public static final androidx.ui.core.Constraints2.Companion! Companion;
-    field public static final int Infinity = -1073741824; // 0xc0000000
-  }
-
-  public static final class Constraints2.Companion {
-    method public long fixed(int width, int height);
-    method public long fixedHeight(int height);
-    method public long fixedWidth(int width);
-  }
-
-  public final class Constraints2Kt {
-    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
-    method public static long constrain-M1ogGms(long, long size);
-    method public static long enforce-uQjoOwo(long, long otherConstraints);
-    method public static boolean getHasFixedHeight-ybNdgAI(long);
-    method public static boolean getHasFixedWidth-ybNdgAI(long);
-    method public static boolean isZero-ybNdgAI(long);
-    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
-    method public static boolean satisfiedBy-M1ogGms(long, long size);
-  }
-
-  public final class ConstraintsKt {
-    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
-    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
-    method public static boolean isZero(androidx.ui.core.Constraints);
-    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
-    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-  }
-
   public final class ConsumedData {
     ctor public ConsumedData(androidx.ui.unit.PxPosition positionChange, boolean downChange);
     ctor public ConsumedData();
@@ -262,6 +274,22 @@
     method public void dispatchCustomEvent(androidx.ui.core.CustomEvent event);
   }
 
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
+  }
+
   public enum Direction {
     enum_constant public static final androidx.ui.core.Direction DOWN;
     enum_constant public static final androidx.ui.core.Direction LEFT;
@@ -315,6 +343,20 @@
     method @Deprecated public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function1<? super androidx.ui.core.ContentDrawScope,kotlin.Unit> onDraw);
   }
 
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
   public interface DrawScope extends androidx.ui.graphics.Canvas androidx.ui.unit.Density {
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public androidx.ui.unit.PxSize getSize();
@@ -322,6 +364,16 @@
     property public abstract androidx.ui.unit.PxSize size;
   }
 
+  public final class DrawShadowKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment End;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
+  }
+
   public final class FixedScale implements androidx.ui.core.ContentScale {
     ctor public FixedScale(float value);
     method public float component1();
@@ -330,6 +382,10 @@
     method public float scale(androidx.ui.unit.PxSize srcSize, androidx.ui.unit.PxSize dstSize);
   }
 
+  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor @Deprecated public FocusNode();
+  }
+
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
@@ -382,9 +438,13 @@
     method public static inline androidx.ui.unit.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
   }
 
-  public enum LayoutDirection {
-    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
-    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  public final class LayoutKt {
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
   public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
@@ -395,6 +455,114 @@
     method public default int minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable measurable, int height, androidx.ui.core.LayoutDirection layoutDirection);
   }
 
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
+    method @Deprecated public boolean getCanMultiMeasure();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method @Deprecated public boolean getHandlesParentData();
+    method public int getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.Modifier getModifier();
+    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public int getWidth();
+    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
+    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isLayingOut();
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public void layout();
+    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public void onInvalidate();
+    method public void place-rRMsBxU(int x, int y);
+    method public void requestRemeasure();
+    method @Deprecated public void setCanMultiMeasure(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method @Deprecated public void setHandlesParentData(boolean p);
+    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property @Deprecated public final boolean canMultiMeasure;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.LayoutCoordinates coordinates;
+    property @Deprecated public final boolean handlesParentData;
+    property public final int height;
+    property public final boolean isLayingOut;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutDirection layoutDirection;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final int width;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
+    ctor @Deprecated public LayoutTag(Object tag);
+    method public Object component1();
+    method public androidx.ui.core.LayoutTag copy(Object tag);
+    method public Object getTag();
+  }
+
+  public final class LayoutTagKt {
+    method public static Object? getTag(androidx.ui.core.Measurable);
+    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
+  }
+
+  public interface LayoutTagParentData {
+    method public Object getTag();
+    property public abstract Object tag;
+  }
+
   public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
   }
@@ -427,6 +595,16 @@
     property public final int width;
   }
 
+  public final class ModelObserver {
+    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
+    method public void clear(Object target);
+    method public void enableModelUpdatesObserving(boolean enabled);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
+    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
+  }
+
   public interface Modifier {
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
     method public boolean any(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -452,6 +630,13 @@
     method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ModifierInfo {
+    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method public Object? getExtra();
+    method public androidx.ui.core.Modifier getModifier();
+  }
+
   public interface OnChildPositionedModifier extends androidx.ui.core.Modifier.Element {
     method public void onChildPositioned(androidx.ui.core.LayoutCoordinates coordinates);
   }
@@ -467,6 +652,90 @@
     method @Deprecated public static androidx.ui.core.Modifier onPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
   }
 
+  public final class OpacityKt {
+    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
+    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public interface OwnedLayer {
+    method public void destroy();
+    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
+    method public long getLayerId();
+    method public android.graphics.Matrix getMatrix();
+    method public void invalidate();
+    method public void move(androidx.ui.unit.IntPxPosition position);
+    method public void resize(androidx.ui.unit.IntPxSize size);
+    method public void updateDisplayList();
+    method public void updateLayerProperties();
+    property public abstract long layerId;
+  }
+
+  public interface Owner {
+    method public androidx.ui.unit.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
+    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.unit.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
+    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
+    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
+    method public boolean getShowLayoutBounds();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
+    method public void measureAndLayout();
+    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean requestFocus();
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
+    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
+    property public abstract androidx.ui.autofill.Autofill? autofill;
+    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
+    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
+    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public abstract androidx.ui.unit.Density density;
+    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
+    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
+    property public abstract long measureIteration;
+    property public abstract androidx.ui.core.LayoutNode root;
+    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
+    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
+    property public abstract boolean showLayoutBounds;
+    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
+    field public static final androidx.ui.core.Owner.Companion! Companion;
+  }
+
+  public static final class Owner.Companion {
+    method public boolean getEnableExtraAssertions();
+    method public void setEnableExtraAssertions(boolean p);
+    property public final boolean enableExtraAssertions;
+  }
+
+  public final class PainterModifierKt {
+    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+  }
+
+  public final class ParentDataKt {
+    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public default Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -561,6 +830,42 @@
     method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
   }
 
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
+    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class PointerInputWrapperKt {
+    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
   public final class Ref<T> {
     ctor public Ref();
     method public T? getValue();
@@ -568,6 +873,9 @@
     property public final T? value;
   }
 
+  public final class SavedStateDelegateKt {
+  }
+
   @Deprecated public interface ScaleFit extends androidx.ui.core.ContentScale {
     field @Deprecated public static final androidx.ui.core.ScaleFit.Companion! Companion;
   }
@@ -587,6 +895,10 @@
     property @Deprecated public final androidx.ui.core.FixedScale None;
   }
 
+  public final class TestTagKt {
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final inline class TransformOrigin {
     ctor public TransformOrigin();
     method public static long constructor-impl(internal long value);
@@ -608,6 +920,46 @@
     ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
 
+  public interface WithConstraintsScope {
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public float getMaxHeight();
+    method public float getMaxWidth();
+    method public float getMinHeight();
+    method public float getMinWidth();
+    property public abstract androidx.ui.core.Constraints constraints;
+    property public abstract androidx.ui.core.LayoutDirection layoutDirection;
+    property public abstract float maxHeight;
+    property public abstract float maxWidth;
+    property public abstract float minHeight;
+    property public abstract float minWidth;
+  }
+
+  public final class WrapperKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
+    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+  }
+
   public interface ZIndexModifier extends androidx.ui.core.Modifier.Element {
     method public float getZIndex();
     property public abstract float zIndex;
@@ -619,6 +971,388 @@
 
 }
 
+package androidx.ui.core.clipboard {
+
+  public final class AndroidClipboardManagerKt {
+  }
+
+  public interface ClipboardManager {
+    method public androidx.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusModifierImplKt {
+    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
+  }
+
+  public final class FocusNodeUtilsKt {
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
+    method public static float getDoubleTapSlop();
+    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
+    method public static float getDoubleTapTouchSlop();
+    method public static float getHoverTapSlop();
+    method public static androidx.ui.unit.Duration getHoverTapTimeout();
+    method public static androidx.ui.unit.Duration getJumpTapTimeout();
+    method public static androidx.ui.unit.Duration getLongPressTimeout();
+    method public static float getMaxFlingVelocity();
+    method public static float getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.unit.Duration getPressTimeout();
+    method public static float getScaleSlop();
+    method public static float getTouchSlop();
+    method public static float getWindowTouchSlop();
+    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureFilterKt {
+    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
+  }
+
+  public final class DragGestureFilterKt {
+    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
+  }
+
+  public interface DragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class GestureUtilsKt {
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public final class LongPressDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
+  }
+
+  public interface LongPressDragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
+    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
+  }
+
+  public final class LongPressGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
+  }
+
+  public final class PressIndicatorGestureFilterKt {
+    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
+  }
+
+  public final class RawDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
+  }
+
+  public final class RawPressStartGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = androidx.ui.core.PointerEventPass.PostUp);
+  }
+
+  public final class RawScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
+  }
+
+  public interface RawScaleObserver {
+    method public default void onCancel();
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
+  }
+
+  public interface ScaleObserver {
+    method public default void onCancel();
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
+  }
+
+  public final class ScaleUtilKt {
+  }
+
+  public final class TapGestureFilterKt {
+    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
+  }
+
+  public final class TouchSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class PolyFitLeastSquaresKt {
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
+    method public androidx.ui.unit.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+  }
+
+}
+
+package androidx.ui.core.hapticfeedback {
+
+  public interface HapticFeedback {
+    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
+  }
+
+  public enum HapticFeedbackType {
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public interface FocusManager {
+    method public void blur(androidx.ui.core.input.FocusNode client);
+    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
+    method public void requestFocus(androidx.ui.core.input.FocusNode client);
+  }
+
+  public final class FocusManagerKt {
+  }
+
+  public final class FocusNode {
+    ctor public FocusNode();
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class PointerInputEventData {
+    method public long component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
+    method public long getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+  }
+
+  public abstract class PointerInputFilter {
+    ctor public PointerInputFilter();
+    method public abstract void onCancel();
+    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
+    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
+    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
+    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
+    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
+    method public androidx.ui.text.AnnotatedString getText();
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection component1();
+    method public int component2();
+    method public androidx.ui.core.selection.Selectable component3();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public int getOffset();
+    method public androidx.ui.core.selection.Selectable getSelectable();
+  }
+
+  public final class SelectionContainerKt {
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+  }
+
+  public final class SelectionManagerKt {
+  }
+
+  public interface SelectionRegistrar {
+    method public void onPositionChange();
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isEmpty();
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean isEmpty;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    property public abstract int id;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public final class SemanticsModifierKt {
+    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
+  }
+
+  public final class SemanticsNode {
+    method public androidx.ui.unit.PxBounds getBoundsInRoot();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public androidx.ui.core.ComponentNode getComponentNode();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public androidx.ui.unit.PxBounds getGlobalBounds();
+    method public androidx.ui.unit.PxPosition getGlobalPosition();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.unit.IntPxSize getSize();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
+    method public boolean isSemanticBoundary();
+    method public void setComponentNode(androidx.ui.core.ComponentNode p);
+    property public final androidx.ui.unit.PxBounds boundsInRoot;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final androidx.ui.unit.PxBounds globalBounds;
+    property public final androidx.ui.unit.PxPosition globalPosition;
+    property public final boolean hasChildren;
+    property public final boolean isSemanticBoundary;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.unit.IntPxSize size;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public int generateNewId();
+  }
+
+  public final class SemanticsNodeKt {
+    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
+    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
+    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
+  }
+
+  public final class SemanticsOwnerKt {
+    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
+  }
+
+}
+
+package androidx.ui.core.texttoolbar {
+
+  public interface TextToolbar {
+    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
+    method public void hide();
+    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
+    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
+  }
+
+  public enum TextToolbarStatus {
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
+  }
+
+}
+
+package androidx.ui.core.texttoolbar.actionmodecallback {
+
+  public final class TextActionModeCallbackKt {
+  }
+
+}
+
 package androidx.ui.focus {
 
   public enum FocusDetailedState {
@@ -637,6 +1371,15 @@
     property public abstract androidx.ui.focus.FocusDetailedState focusDetailedState;
   }
 
+  public final class FocusModifierProviderKt {
+    method public static androidx.ui.focus.FocusModifier FocusModifier();
+    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
+  }
+
+  @Deprecated public final class FocusOperator {
+    ctor @Deprecated public FocusOperator();
+  }
+
   public enum FocusState {
     enum_constant public static final androidx.ui.focus.FocusState Focused;
     enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
@@ -647,6 +1390,244 @@
     method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
   }
 
+  public final class FocusableKt {
+    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public String component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public androidx.ui.graphics.vector.VectorGroup component6();
+    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
+  }
+
+  public final class VectorAssetBuilderKt {
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+  }
+
+  public final class VectorAssetKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
+  }
+
+  public final class VectorComposeKt {
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
+    method public androidx.ui.unit.PxSize getIntrinsicSize();
+    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
+    property public androidx.ui.unit.PxSize intrinsicSize;
+  }
+
+  public final class VectorPainterKt {
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    field public static final String RootGroupName = "VectorRootGroup";
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public String component1();
+    method public float component10();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+    method public androidx.ui.graphics.Brush? component3();
+    method public float component4();
+    method public androidx.ui.graphics.Brush? component5();
+    method public float component6();
+    method public float component7();
+    method public androidx.ui.graphics.StrokeCap component8();
+    method public androidx.ui.graphics.StrokeJoin component9();
+    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
+package androidx.ui.node {
+
+  public final class PointerInteropFilterKt {
+  }
+
+  public final class PointerInteropUtilsKt {
+  }
+
+  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
+    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
+    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public android.content.Context getContext();
+    method public Object getRoot();
+  }
+
+  public final class UiComposerKt {
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
+    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
+    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
+    method public int getId();
+    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
+    property public abstract int id;
+  }
+
+  public final class ViewInteropKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
+  }
+
+}
+
+package androidx.ui.platform {
+
+  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
+    ctor public AndroidUriHandler(android.content.Context context);
+    method public void openUri(String uri);
+  }
+
+  public interface UriHandler {
+    method public void openUri(String uri);
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    method public static long colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class FontResourcesKt {
+    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+  }
+
+  public final class ImageResourcesKt {
+    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    method public static boolean booleanResource(@BoolRes int id);
+    method public static float dimensionResource(@DimenRes int id);
+    method public static int[] integerArrayResource(@ArrayRes int id);
+    method public static int integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+  }
+
+  public final class StringResourcesKt {
+    method public static String![] stringArrayResource(@ArrayRes int id);
+    method public static String stringResource(@StringRes int id);
+    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
+  }
+
 }
 
 package androidx.ui.semantics {
@@ -692,6 +1673,10 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
   }
 
+  public final class SemanticsKt {
+    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final class SemanticsProperties {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
@@ -708,6 +1693,29 @@
     field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
   }
 
+  public final class SemanticsPropertiesKt {
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+  }
+
   public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
     ctor public SemanticsPropertyKey(String name);
     method public final String getName();
@@ -722,6 +1730,14 @@
 
 }
 
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
 package androidx.ui.testutils {
 
   public final class PointerInputTestUtilKt {
@@ -742,3 +1758,20 @@
 
 }
 
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
+package androidx.ui.viewinterop {
+
+  public final class ComposedViewKt {
+    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
+    method public static void AndroidView(android.view.View view);
+  }
+
+}
+
diff --git a/ui/ui-core/api/restricted_current.txt b/ui/ui-core/api/restricted_current.txt
index 45987cc..a74ec03 100644
--- a/ui/ui-core/api/restricted_current.txt
+++ b/ui/ui-core/api/restricted_current.txt
@@ -1,6 +1,23 @@
 // Signature format: 3.0
+package androidx.compose {
+
+  public final class ComposerCompatKt {
+    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
+  }
+
+}
+
 package androidx.ui.autofill {
 
+  public final class AndroidAutofillDebugUtilsKt {
+  }
+
+  public final class AndroidAutofillKt {
+  }
+
+  public final class AndroidAutofillTypeKt {
+  }
+
   public interface Autofill {
     method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
     method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
@@ -74,7 +91,7 @@
 
   public final class Alignment {
     ctor public Alignment(float verticalBias, float horizontalBias);
-    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public androidx.ui.unit.IntPxPosition align(androidx.ui.unit.IntPxSize size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public float component2();
     method public androidx.ui.core.Alignment copy(float verticalBias, float horizontalBias);
@@ -118,7 +135,7 @@
 
   public static final class Alignment.Horizontal {
     ctor public Alignment.Horizontal(float bias);
-    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = androidx.ui.core.LayoutDirection.Ltr);
+    method public int align-Ujlv2dA(int size, androidx.ui.core.LayoutDirection layoutDirection = LayoutDirection.Ltr);
     method public float component1();
     method public androidx.ui.core.Alignment.Horizontal copy(float bias);
     method public float getBias();
@@ -139,6 +156,31 @@
     method public static int merge-CBRbNzc(androidx.ui.core.AlignmentLine, int position1, int position2);
   }
 
+  public interface AndroidOwner extends androidx.ui.core.Owner {
+    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
+    method public android.view.View getView();
+    method public void removeAndroidView(android.view.View view);
+    property public abstract android.view.View view;
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class AndroidOwner.Companion {
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? getOnAndroidOwnerCreatedCallback();
+    method public void setOnAndroidOwnerCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.ui.core.AndroidOwner,kotlin.Unit>? p);
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? onAndroidOwnerCreatedCallback;
+  }
+
+  public final class AndroidOwnerKt {
+    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
+    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
+  }
+
+  public final class ClipKt {
+    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
+    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
+    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
+    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
+  }
+
   public final class CombinedModifier implements androidx.ui.core.Modifier {
     ctor public CombinedModifier(androidx.ui.core.Modifier outer, androidx.ui.core.Modifier inner);
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -147,77 +189,47 @@
     method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public abstract sealed class ComponentNode {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
+    method public final void move(int from, int to, int count);
+    method public final void removeAt(int index, int count);
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+  }
+
+  public final class ComponentNodesKt {
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
   public final class ComposedModifierKt {
     method public static androidx.ui.core.Modifier composed(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier,? extends androidx.ui.core.Modifier> factory);
     method public static androidx.ui.core.Modifier materialize(androidx.compose.Composer<?>, androidx.ui.core.Modifier modifier);
   }
 
-  public final class Constraints {
-    method public int component1();
-    method public int component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
-    method public int getMaxHeight();
-    method public int getMaxWidth();
-    method public int getMinHeight();
-    method public int getMinWidth();
-    field public static final androidx.ui.core.Constraints.Companion! Companion;
-  }
-
-  public static final class Constraints.Companion {
-    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
-    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
-    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
-  }
-
-  public final inline class Constraints2 {
-    ctor public Constraints2();
-    method public static long constructor-impl(internal long value);
-    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
-    method public static inline boolean equals-impl(long p, Object? p1);
-    method public static boolean equals-impl0(long p1, long p2);
-    method public static boolean getHasBoundedHeight-impl(long $this);
-    method public static boolean getHasBoundedWidth-impl(long $this);
-    method public static int getMaxHeight-impl(long $this);
-    method public static int getMaxWidth-impl(long $this);
-    method public static int getMinHeight-impl(long $this);
-    method public static int getMinWidth-impl(long $this);
-    method public static inline int hashCode-impl(long p);
-    method public static inline String! toString-impl(long p);
-    field public static final androidx.ui.core.Constraints2.Companion! Companion;
-    field public static final int Infinity = -1073741824; // 0xc0000000
-  }
-
-  public static final class Constraints2.Companion {
-    method public long fixed(int width, int height);
-    method public long fixedHeight(int height);
-    method public long fixedWidth(int width);
-  }
-
-  public final class Constraints2Kt {
-    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
-    method public static long constrain-M1ogGms(long, long size);
-    method public static long enforce-uQjoOwo(long, long otherConstraints);
-    method public static boolean getHasFixedHeight-ybNdgAI(long);
-    method public static boolean getHasFixedWidth-ybNdgAI(long);
-    method public static boolean isZero-ybNdgAI(long);
-    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
-    method public static boolean satisfiedBy-M1ogGms(long, long size);
-  }
-
-  public final class ConstraintsKt {
-    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
-    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
-    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
-    method public static boolean isZero(androidx.ui.core.Constraints);
-    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
-    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
-  }
-
   public final class ConsumedData {
     ctor public ConsumedData(androidx.ui.unit.PxPosition positionChange, boolean downChange);
     ctor public ConsumedData();
@@ -262,6 +274,22 @@
     method public void dispatchCustomEvent(androidx.ui.core.CustomEvent event);
   }
 
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
+  }
+
   public enum Direction {
     enum_constant public static final androidx.ui.core.Direction DOWN;
     enum_constant public static final androidx.ui.core.Direction LEFT;
@@ -315,6 +343,20 @@
     method @Deprecated public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function1<? super androidx.ui.core.ContentDrawScope,kotlin.Unit> onDraw);
   }
 
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
   public interface DrawScope extends androidx.ui.graphics.Canvas androidx.ui.unit.Density {
     method public androidx.ui.core.LayoutDirection getLayoutDirection();
     method public androidx.ui.unit.PxSize getSize();
@@ -322,6 +364,16 @@
     property public abstract androidx.ui.unit.PxSize size;
   }
 
+  public final class DrawShadowKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment End;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
+  }
+
   public final class FixedScale implements androidx.ui.core.ContentScale {
     ctor public FixedScale(float value);
     method public float component1();
@@ -330,6 +382,10 @@
     method public float scale(androidx.ui.unit.PxSize srcSize, androidx.ui.unit.PxSize dstSize);
   }
 
+  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor @Deprecated public FocusNode();
+  }
+
   public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
     ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
@@ -382,9 +438,13 @@
     method public static inline androidx.ui.unit.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
   }
 
-  public enum LayoutDirection {
-    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
-    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  public final class LayoutKt {
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
+    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.core.WithConstraintsScope,kotlin.Unit> children);
   }
 
   public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
@@ -395,6 +455,114 @@
     method public default int minIntrinsicWidth-QYUUffc(androidx.ui.core.IntrinsicMeasureScope, androidx.ui.core.IntrinsicMeasurable measurable, int height, androidx.ui.core.LayoutDirection layoutDirection);
   }
 
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
+    method @Deprecated public boolean getCanMultiMeasure();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method @Deprecated public boolean getHandlesParentData();
+    method public int getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.Modifier getModifier();
+    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public int getWidth();
+    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
+    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isLayingOut();
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public void layout();
+    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
+    method public void onInvalidate();
+    method public void place-rRMsBxU(int x, int y);
+    method public void requestRemeasure();
+    method @Deprecated public void setCanMultiMeasure(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method @Deprecated public void setHandlesParentData(boolean p);
+    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property @Deprecated public final boolean canMultiMeasure;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.LayoutCoordinates coordinates;
+    property @Deprecated public final boolean handlesParentData;
+    property public final int height;
+    property public final boolean isLayingOut;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutDirection layoutDirection;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final int width;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
+    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
+  }
+
+  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
+    ctor @Deprecated public LayoutTag(Object tag);
+    method public Object component1();
+    method public androidx.ui.core.LayoutTag copy(Object tag);
+    method public Object getTag();
+  }
+
+  public final class LayoutTagKt {
+    method public static Object? getTag(androidx.ui.core.Measurable);
+    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
+  }
+
+  public interface LayoutTagParentData {
+    method public Object getTag();
+    property public abstract Object tag;
+  }
+
   public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
     method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
   }
@@ -427,6 +595,16 @@
     property public final int width;
   }
 
+  public final class ModelObserver {
+    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
+    method public void clear(Object target);
+    method public void enableModelUpdatesObserving(boolean enabled);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
+    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
+  }
+
   public interface Modifier {
     method public boolean all(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
     method public boolean any(kotlin.jvm.functions.Function1<? super androidx.ui.core.Modifier.Element,java.lang.Boolean> predicate);
@@ -452,6 +630,13 @@
     method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
   }
 
+  public final class ModifierInfo {
+    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
+    method public androidx.ui.core.LayoutCoordinates getCoordinates();
+    method public Object? getExtra();
+    method public androidx.ui.core.Modifier getModifier();
+  }
+
   public interface OnChildPositionedModifier extends androidx.ui.core.Modifier.Element {
     method public void onChildPositioned(androidx.ui.core.LayoutCoordinates coordinates);
   }
@@ -467,6 +652,90 @@
     method @Deprecated public static androidx.ui.core.Modifier onPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
   }
 
+  public final class OpacityKt {
+    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
+    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public interface OwnedLayer {
+    method public void destroy();
+    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
+    method public long getLayerId();
+    method public android.graphics.Matrix getMatrix();
+    method public void invalidate();
+    method public void move(androidx.ui.unit.IntPxPosition position);
+    method public void resize(androidx.ui.unit.IntPxSize size);
+    method public void updateDisplayList();
+    method public void updateLayerProperties();
+    property public abstract long layerId;
+  }
+
+  public interface Owner {
+    method public androidx.ui.unit.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
+    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.unit.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
+    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
+    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
+    method public boolean getShowLayoutBounds();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
+    method public void measureAndLayout();
+    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean requestFocus();
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
+    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
+    property public abstract androidx.ui.autofill.Autofill? autofill;
+    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
+    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
+    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public abstract androidx.ui.unit.Density density;
+    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
+    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
+    property public abstract long measureIteration;
+    property public abstract androidx.ui.core.LayoutNode root;
+    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
+    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
+    property public abstract boolean showLayoutBounds;
+    property public abstract androidx.ui.input.TextInputService textInputService;
+    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
+    field public static final androidx.ui.core.Owner.Companion! Companion;
+  }
+
+  public static final class Owner.Companion {
+    method public boolean getEnableExtraAssertions();
+    method public void setEnableExtraAssertions(boolean p);
+    property public final boolean enableExtraAssertions;
+  }
+
+  public final class PainterModifierKt {
+    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
+  }
+
+  public final class ParentDataKt {
+    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public interface ParentDataModifier extends androidx.ui.core.Modifier.Element {
     method public default Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
   }
@@ -561,6 +830,42 @@
     method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
   }
 
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
+    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
+    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class PointerInputWrapperKt {
+    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
   public final class Ref<T> {
     ctor public Ref();
     method public T? getValue();
@@ -568,6 +873,9 @@
     property public final T? value;
   }
 
+  public final class SavedStateDelegateKt {
+  }
+
   @Deprecated public interface ScaleFit extends androidx.ui.core.ContentScale {
     field @Deprecated public static final androidx.ui.core.ScaleFit.Companion! Companion;
   }
@@ -587,6 +895,10 @@
     property @Deprecated public final androidx.ui.core.FixedScale None;
   }
 
+  public final class TestTagKt {
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final inline class TransformOrigin {
     ctor public TransformOrigin();
     method public static long constructor-impl(internal long value);
@@ -608,6 +920,46 @@
     ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.unit.IntPx,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> merger);
   }
 
+  public interface WithConstraintsScope {
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.LayoutDirection getLayoutDirection();
+    method public float getMaxHeight();
+    method public float getMaxWidth();
+    method public float getMinHeight();
+    method public float getMinWidth();
+    property public abstract androidx.ui.core.Constraints constraints;
+    property public abstract androidx.ui.core.LayoutDirection layoutDirection;
+    property public abstract float maxHeight;
+    property public abstract float maxWidth;
+    property public abstract float minHeight;
+    property public abstract float minWidth;
+  }
+
+  public final class WrapperKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
+    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
+    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+  }
+
   public interface ZIndexModifier extends androidx.ui.core.Modifier.Element {
     method public float getZIndex();
     property public abstract float zIndex;
@@ -619,6 +971,388 @@
 
 }
 
+package androidx.ui.core.clipboard {
+
+  public final class AndroidClipboardManagerKt {
+  }
+
+  public interface ClipboardManager {
+    method public androidx.ui.text.AnnotatedString? getText();
+    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusModifierImplKt {
+    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
+  }
+
+  public final class FocusNodeUtilsKt {
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
+    method public static float getDoubleTapSlop();
+    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
+    method public static float getDoubleTapTouchSlop();
+    method public static float getHoverTapSlop();
+    method public static androidx.ui.unit.Duration getHoverTapTimeout();
+    method public static androidx.ui.unit.Duration getJumpTapTimeout();
+    method public static androidx.ui.unit.Duration getLongPressTimeout();
+    method public static float getMaxFlingVelocity();
+    method public static float getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.unit.Duration getPressTimeout();
+    method public static float getScaleSlop();
+    method public static float getTouchSlop();
+    method public static float getWindowTouchSlop();
+    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureFilterKt {
+    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
+  }
+
+  public final class DragGestureFilterKt {
+    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
+  }
+
+  public interface DragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class GestureUtilsKt {
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public final class LongPressDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
+  }
+
+  public interface LongPressDragObserver {
+    method public default void onCancel();
+    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.unit.PxPosition velocity);
+  }
+
+  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
+    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
+  }
+
+  public final class LongPressGestureFilterKt {
+    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
+  }
+
+  public final class PressIndicatorGestureFilterKt {
+    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
+  }
+
+  public final class RawDragGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
+  }
+
+  public final class RawPressStartGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = androidx.ui.core.PointerEventPass.PostUp);
+  }
+
+  public final class RawScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
+  }
+
+  public interface RawScaleObserver {
+    method public default void onCancel();
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
+  }
+
+  public interface ScaleObserver {
+    method public default void onCancel();
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
+  }
+
+  public final class ScaleUtilKt {
+  }
+
+  public final class TapGestureFilterKt {
+    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
+  }
+
+  public final class TouchSlopExceededGestureFilterKt {
+    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class PolyFitLeastSquaresKt {
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
+    method public androidx.ui.unit.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+  }
+
+}
+
+package androidx.ui.core.hapticfeedback {
+
+  public interface HapticFeedback {
+    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
+  }
+
+  public enum HapticFeedbackType {
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
+    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public interface FocusManager {
+    method public void blur(androidx.ui.core.input.FocusNode client);
+    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
+    method public void requestFocus(androidx.ui.core.input.FocusNode client);
+  }
+
+  public final class FocusManagerKt {
+  }
+
+  public final class FocusNode {
+    ctor public FocusNode();
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class PointerInputEventData {
+    method public long component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
+    method public long getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+  }
+
+  public abstract class PointerInputFilter {
+    ctor public PointerInputFilter();
+    method public abstract void onCancel();
+    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
+    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
+    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
+  }
+
+  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
+    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
+    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
+    method public androidx.ui.text.AnnotatedString getText();
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection component1();
+    method public int component2();
+    method public androidx.ui.core.selection.Selectable component3();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public int getOffset();
+    method public androidx.ui.core.selection.Selectable getSelectable();
+  }
+
+  public final class SelectionContainerKt {
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+  }
+
+  public final class SelectionManagerKt {
+  }
+
+  public interface SelectionRegistrar {
+    method public void onPositionChange();
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isEmpty();
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean isEmpty;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    property public abstract int id;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public final class SemanticsModifierKt {
+    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
+  }
+
+  public final class SemanticsNode {
+    method public androidx.ui.unit.PxBounds getBoundsInRoot();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public androidx.ui.core.ComponentNode getComponentNode();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public androidx.ui.unit.PxBounds getGlobalBounds();
+    method public androidx.ui.unit.PxPosition getGlobalPosition();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.unit.IntPxSize getSize();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
+    method public boolean isSemanticBoundary();
+    method public void setComponentNode(androidx.ui.core.ComponentNode p);
+    property public final androidx.ui.unit.PxBounds boundsInRoot;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final androidx.ui.unit.PxBounds globalBounds;
+    property public final androidx.ui.unit.PxPosition globalPosition;
+    property public final boolean hasChildren;
+    property public final boolean isSemanticBoundary;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.unit.IntPxSize size;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public int generateNewId();
+  }
+
+  public final class SemanticsNodeKt {
+    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
+    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
+    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
+  }
+
+  public final class SemanticsOwnerKt {
+    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
+  }
+
+}
+
+package androidx.ui.core.texttoolbar {
+
+  public interface TextToolbar {
+    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
+    method public void hide();
+    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
+    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
+  }
+
+  public enum TextToolbarStatus {
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
+    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
+  }
+
+}
+
+package androidx.ui.core.texttoolbar.actionmodecallback {
+
+  public final class TextActionModeCallbackKt {
+  }
+
+}
+
 package androidx.ui.focus {
 
   public enum FocusDetailedState {
@@ -637,6 +1371,15 @@
     property public abstract androidx.ui.focus.FocusDetailedState focusDetailedState;
   }
 
+  public final class FocusModifierProviderKt {
+    method public static androidx.ui.focus.FocusModifier FocusModifier();
+    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
+  }
+
+  @Deprecated public final class FocusOperator {
+    ctor @Deprecated public FocusOperator();
+  }
+
   public enum FocusState {
     enum_constant public static final androidx.ui.focus.FocusState Focused;
     enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
@@ -647,6 +1390,244 @@
     method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
   }
 
+  public final class FocusableKt {
+    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public String component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public androidx.ui.graphics.vector.VectorGroup component6();
+    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public float getDefaultHeight();
+    method public float getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
+  }
+
+  public final class VectorAssetBuilderKt {
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
+    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
+  }
+
+  public final class VectorAssetKt {
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
+  }
+
+  public final class VectorComposeKt {
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
+    method public androidx.ui.unit.PxSize getIntrinsicSize();
+    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
+    property public androidx.ui.unit.PxSize intrinsicSize;
+  }
+
+  public final class VectorPainterKt {
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
+    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    field public static final String RootGroupName = "VectorRootGroup";
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public String component1();
+    method public float component10();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
+    method public androidx.ui.graphics.Brush? component3();
+    method public float component4();
+    method public androidx.ui.graphics.Brush? component5();
+    method public float component6();
+    method public float component7();
+    method public androidx.ui.graphics.StrokeCap component8();
+    method public androidx.ui.graphics.StrokeJoin component9();
+    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+  }
+
+  public final class RecordingInputConnectionKt {
+  }
+
+}
+
+package androidx.ui.node {
+
+  public final class PointerInteropFilterKt {
+  }
+
+  public final class PointerInteropUtilsKt {
+  }
+
+  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
+    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
+    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
+    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public android.content.Context getContext();
+    method public Object getRoot();
+  }
+
+  public final class UiComposerKt {
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
+    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
+    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
+    method public int getId();
+    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
+    property public abstract int id;
+  }
+
+  public final class ViewInteropKt {
+    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
+  }
+
+}
+
+package androidx.ui.platform {
+
+  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
+    ctor public AndroidUriHandler(android.content.Context context);
+    method public void openUri(String uri);
+  }
+
+  public interface UriHandler {
+    method public void openUri(String uri);
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    method public static long colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class FontResourcesKt {
+    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
+  }
+
+  public final class ImageResourcesKt {
+    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    method public static boolean booleanResource(@BoolRes int id);
+    method public static float dimensionResource(@DimenRes int id);
+    method public static int[] integerArrayResource(@ArrayRes int id);
+    method public static int integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+  }
+
+  public final class StringResourcesKt {
+    method public static String![] stringArrayResource(@ArrayRes int id);
+    method public static String stringResource(@StringRes int id);
+    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
+  }
+
 }
 
 package androidx.ui.semantics {
@@ -692,6 +1673,10 @@
     property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
   }
 
+  public final class SemanticsKt {
+    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
   public final class SemanticsProperties {
     method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
     method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
@@ -708,6 +1693,29 @@
     field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
   }
 
+  public final class SemanticsPropertiesKt {
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+  }
+
   public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
     ctor public SemanticsPropertyKey(String name);
     method public final String getName();
@@ -722,6 +1730,14 @@
 
 }
 
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
 package androidx.ui.testutils {
 
   public final class PointerInputTestUtilKt {
@@ -742,3 +1758,20 @@
 
 }
 
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
+package androidx.ui.viewinterop {
+
+  public final class ComposedViewKt {
+    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
+    method public static void AndroidView(android.view.View view);
+  }
+
+}
+
diff --git a/ui/ui-core/build.gradle b/ui/ui-core/build.gradle
index 107c590..26f9f65 100644
--- a/ui/ui-core/build.gradle
+++ b/ui/ui-core/build.gradle
@@ -31,23 +31,48 @@
 dependencies {
     kotlinPlugin project(path: ":compose:compose-compiler")
     implementation(KOTLIN_STDLIB)
+    implementation(KOTLIN_COROUTINES_ANDROID)
 
     api "androidx.annotation:annotation:1.1.0"
+    api "androidx.activity:activity:1.2.0-alpha02"
     api project(":ui:ui-unit")
     api project(":ui:ui-graphics")
+    api project(":ui:ui-text-core")
+    api project(":ui:ui-vector")
+    api project(":ui:ui-animation-core")
     implementation project(":ui:ui-util")
 
     implementation project(":compose:compose-runtime")
+    implementation "androidx.lifecycle:lifecycle-runtime:2.3.0-alpha01"
+    implementation project(":ui:ui-saved-instance-state")
+    implementation "androidx.autofill:autofill:1.0.0"
 
     testImplementation(ANDROIDX_TEST_RULES)
     testImplementation(ANDROIDX_TEST_RUNNER)
     testImplementation(JUNIT)
     testImplementation(TRUTH)
+    testImplementation(MOCKITO_CORE)
+    testImplementation(ROBOLECTRIC)
+    testImplementation MOCKITO_KOTLIN, {
+        exclude group: 'org.mockito' // to keep control on the mockito version
+    }
+    testImplementation project(":ui:ui-test")
 
     androidTestImplementation(ANDROIDX_TEST_RULES)
     androidTestImplementation(ANDROIDX_TEST_RUNNER)
     androidTestImplementation(ESPRESSO_CORE)
     androidTestImplementation(JUNIT)
+    androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
+    androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
+    androidTestImplementation(TRUTH)
+    androidTestImplementation MOCKITO_KOTLIN, {
+        exclude group: 'org.mockito' // to keep control on the mockito version
+    }
+
+    androidTestImplementation project(":ui:ui-test")
+    androidTestImplementation project(":ui:ui-test-font")
+    androidTestImplementation project(":ui:ui-layout")
+    androidTestImplementation project(":ui:ui-foundation")
 }
 
 androidx {
@@ -66,3 +91,10 @@
     }
 }
 
+android {
+    buildTypes {
+        debug {
+            testCoverageEnabled = false // Breaks Kotlin compiler.
+        }
+    }
+}
diff --git a/ui/ui-framework/integration-tests/framework-demos/build.gradle b/ui/ui-core/integration-tests/framework-demos/build.gradle
similarity index 94%
rename from ui/ui-framework/integration-tests/framework-demos/build.gradle
rename to ui/ui-core/integration-tests/framework-demos/build.gradle
index 3f4196a..d9a5e2d 100644
--- a/ui/ui-framework/integration-tests/framework-demos/build.gradle
+++ b/ui/ui-core/integration-tests/framework-demos/build.gradle
@@ -21,7 +21,6 @@
     implementation project(":ui:ui-text-core")
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-material")
     implementation project(":ui:ui-vector")
 }
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/AndroidManifest.xml b/ui/ui-core/integration-tests/framework-demos/src/main/AndroidManifest.xml
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/AndroidManifest.xml
rename to ui/ui-core/integration-tests/framework-demos/src/main/AndroidManifest.xml
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/DeclarativeGraphicsDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/DeclarativeGraphicsDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/DeclarativeGraphicsDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/DeclarativeGraphicsDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/FrameworkDemos.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/FrameworkDemos.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/FrameworkDemos.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/FrameworkDemos.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/MultipleCollect.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/PopupDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/PopupDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/PopupDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/PopupDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/VectorGraphicsDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/VectorGraphicsDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/VectorGraphicsDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/VectorGraphicsDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/autofill/ExplicitAutofillTypesDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/autofill/ExplicitAutofillTypesDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/autofill/ExplicitAutofillTypesDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/autofill/ExplicitAutofillTypesDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/focus/FocusableDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/focus/FocusableDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/focus/FocusableDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/focus/FocusableDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/Colors.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/Colors.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/Colors.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/Colors.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DoubleTapGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DoubleTapGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DoubleTapGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DoubleTapGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DragScaleGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DragScaleGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DragScaleGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/DragScaleGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressDragGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressDragGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressDragGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressDragGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/LongPressGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedLongPressDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedLongPressDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedLongPressDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedLongPressDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedPressDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedPressDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedPressDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedPressDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScalingDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScalingDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScalingDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScalingDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/NestedScrollingDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PopupDragDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PopupDragDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PopupDragDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PopupDragDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PressIndicatorGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PressIndicatorGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PressIndicatorGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/PressIndicatorGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/RawDragGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/RawDragGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/RawDragGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/RawDragGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/ScaleGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/ScaleGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/ScaleGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/ScaleGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TapGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TapGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TapGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TapGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopDragGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopDragGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopDragGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopDragGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopExceededGestureDetectorDemo.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopExceededGestureDetectorDemo.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopExceededGestureDetectorDemo.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/gestures/TouchSlopExceededGestureDetectorDemo.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewInCompose.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewInCompose.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewInCompose.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewInCompose.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewRef.kt b/ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewRef.kt
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewRef.kt
rename to ui/ui-core/integration-tests/framework-demos/src/main/java/androidx/ui/framework/demos/viewinterop/ViewRef.kt
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/res/drawable/ic_crane.xml b/ui/ui-core/integration-tests/framework-demos/src/main/res/drawable/ic_crane.xml
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/res/drawable/ic_crane.xml
rename to ui/ui-core/integration-tests/framework-demos/src/main/res/drawable/ic_crane.xml
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/res/layout/test_layout.xml b/ui/ui-core/integration-tests/framework-demos/src/main/res/layout/test_layout.xml
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/res/layout/test_layout.xml
rename to ui/ui-core/integration-tests/framework-demos/src/main/res/layout/test_layout.xml
diff --git a/ui/ui-framework/integration-tests/framework-demos/src/main/res/values/styles.xml b/ui/ui-core/integration-tests/framework-demos/src/main/res/values/styles.xml
similarity index 100%
rename from ui/ui-framework/integration-tests/framework-demos/src/main/res/values/styles.xml
rename to ui/ui-core/integration-tests/framework-demos/src/main/res/values/styles.xml
diff --git a/ui/ui-platform/samples/src/main/java/androidx/ui/core/samples/ModelObserverUsage.kt b/ui/ui-core/samples/src/main/java/androidx/ui/core/samples/ModelObserverUsage.kt
similarity index 100%
rename from ui/ui-platform/samples/src/main/java/androidx/ui/core/samples/ModelObserverUsage.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/core/samples/ModelObserverUsage.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/DrawShadowSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/DrawShadowSample.kt
similarity index 100%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/DrawShadowSample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/DrawShadowSample.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/FontResourcesSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/FontResourcesSample.kt
similarity index 100%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/FontResourcesSample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/FontResourcesSample.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/LayoutSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/LayoutSample.kt
similarity index 100%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/LayoutSample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/LayoutSample.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/OpacitySample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/OpacitySample.kt
similarity index 100%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/OpacitySample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/OpacitySample.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/PainterSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/PainterSample.kt
similarity index 100%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/PainterSample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/PainterSample.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/PopupSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/PopupSample.kt
similarity index 100%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/PopupSample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/PopupSample.kt
diff --git a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/WithConstraintsSample.kt b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/WithConstraintsSample.kt
similarity index 88%
rename from ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/WithConstraintsSample.kt
rename to ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/WithConstraintsSample.kt
index 9b2b339..d982003 100644
--- a/ui/ui-framework/samples/src/main/java/androidx/ui/framework/samples/WithConstraintsSample.kt
+++ b/ui/ui-core/samples/src/main/java/androidx/ui/framework/samples/WithConstraintsSample.kt
@@ -30,10 +30,9 @@
 @Sampled
 @Composable
 fun WithConstraintsSample() {
-    WithConstraints { constraints, _ ->
+    WithConstraints {
         val rectangleHeight = 100.dp
-        val threshold = with(DensityAmbient.current) { (rectangleHeight * 2).toIntPx() }
-        if (constraints.maxHeight < threshold) {
+        if (maxHeight < rectangleHeight * 2) {
             Box(Modifier.preferredSize(50.dp, rectangleHeight), backgroundColor = Color.Blue)
         } else {
             Column {
diff --git a/ui/ui-framework/src/androidTest/AndroidManifest.xml b/ui/ui-core/src/androidTest/AndroidManifest.xml
similarity index 84%
rename from ui/ui-framework/src/androidTest/AndroidManifest.xml
rename to ui/ui-core/src/androidTest/AndroidManifest.xml
index d8cab4b..4704cda 100644
--- a/ui/ui-framework/src/androidTest/AndroidManifest.xml
+++ b/ui/ui-core/src/androidTest/AndroidManifest.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 The Android Open Source Project
+<!-- Copyright (C) 2020 The Android Open Source Project
 
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
@@ -14,11 +14,12 @@
      limitations under the License.
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="androidx.ui.framework.test">
+    package="androidx.ui.core.test">
     <application>
         <activity
             android:name="androidx.ui.framework.test.TestActivity"
             android:theme="@android:style/Theme.Material.NoActionBar.Fullscreen" />
         <activity android:name="androidx.activity.ComponentActivity" />
+        <activity android:name="androidx.ui.core.AndroidPointerInputTestActivity" />
     </application>
 </manifest>
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/AndroidAutoFillTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/AndroidAutoFillTest.kt
similarity index 96%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/AndroidAutoFillTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/AndroidAutoFillTest.kt
index be09ca16..0c7bbba 100644
--- a/ui/ui-platform/src/androidTest/java/androidx/ui/core/AndroidAutoFillTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/core/AndroidAutoFillTest.kt
@@ -45,7 +45,6 @@
     @get:Rule
     val composeTestRule = createComposeRule()
 
-    private val PACKAGE_NAME = "androidx.ui.platform.test"
     private var autofill: Autofill? = null
     private lateinit var autofillTree: AutofillTree
     private lateinit var ownerView: ViewGroup
@@ -92,12 +91,13 @@
 
         // Act.
         ownerView.onProvideAutofillVirtualStructure(viewStructure, 0)
+        val currentPackageName = ownerView.context.applicationInfo.packageName
 
         // Assert.
         assertThat(viewStructure).isEqualTo(FakeViewStructure().apply {
             children.add(FakeViewStructure().apply {
                 virtualId = autofillNode.id
-                packageName = PACKAGE_NAME
+                packageName = currentPackageName
                 setAutofillType(View.AUTOFILL_TYPE_TEXT)
                 setAutofillHints(arrayOf(AUTOFILL_HINT_PERSON_NAME))
                 setDimens(0, 0, 0, 0, 0, 0)
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/AndroidPointerInputTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/AndroidPointerInputTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/AndroidPointerInputTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/AndroidPointerInputTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/DepthSortedSetTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/DepthSortedSetTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/DepthSortedSetTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/DepthSortedSetTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/HotReloadTests.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/HotReloadTests.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/HotReloadTests.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/HotReloadTests.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/ModelObserverTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/ModelObserverTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/ModelObserverTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/ModelObserverTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/MotionEventUtil.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/MotionEventUtil.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/MotionEventUtil.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/MotionEventUtil.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/PainterModifierTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/PainterModifierTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/PainterModifierTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/PainterModifierTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/PopupTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/PopupTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/PopupTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/PopupTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/SavedStateDelegateTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/SavedStateDelegateTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/SavedStateDelegateTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/SavedStateDelegateTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/CaptureFocusTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/focus/CaptureFocusTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/CaptureFocusTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/focus/CaptureFocusTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FindFocusableChildrenTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FindFocusableChildrenTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FindFocusableChildrenTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FindFocusableChildrenTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FindParentFocusNodeTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FindParentFocusNodeTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FindParentFocusNodeTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FindParentFocusNodeTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FocusTestUtils.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FocusTestUtils.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FocusTestUtils.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FocusTestUtils.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FreeFocusTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FreeFocusTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/FreeFocusTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/focus/FreeFocusTest.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/RequestFocusTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/focus/RequestFocusTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/focus/RequestFocusTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/focus/RequestFocusTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/LongPressDragGestureFilterTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/LongPressDragGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/LongPressDragGestureFilterTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/LongPressDragGestureFilterTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/ScaleGestureFilterTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/ScaleGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/ScaleGestureFilterTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/ScaleGestureFilterTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/TouchSlopDragGestureFilterTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/TouchSlopDragGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/TouchSlopDragGestureFilterTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/TouchSlopDragGestureFilterTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/utils.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/utils.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/gesture/utils.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/gesture/utils.kt
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/core/pointerinput/MotionEventAdapterTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/pointerinput/MotionEventAdapterTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/core/pointerinput/MotionEventAdapterTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/pointerinput/MotionEventAdapterTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/selection/SelectionHandlesTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/selection/SelectionHandlesTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/selection/SelectionHandlesTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/selection/SelectionHandlesTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
similarity index 94%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
index bade43c..29e09ad 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidLayoutDrawTest.kt
@@ -73,6 +73,7 @@
 import androidx.ui.graphics.Path
 import androidx.ui.graphics.Shape
 import androidx.ui.layout.ltr
+import androidx.ui.layout.offset
 import androidx.ui.layout.padding
 import androidx.ui.layout.rtl
 import androidx.ui.unit.Density
@@ -115,12 +116,14 @@
     val excessiveAssertions = AndroidOwnerExtraAssertionsRule()
     private lateinit var activity: TestActivity
     private lateinit var drawLatch: CountDownLatch
+    private lateinit var density: Density
 
     @Before
     fun setup() {
         activity = activityTestRule.activity
         activity.hasFocusLatch.await(5, TimeUnit.SECONDS)
         drawLatch = CountDownLatch(1)
+        density = Density(activity)
     }
 
     // Tests that simple drawing works with layered squares
@@ -1426,6 +1429,157 @@
     }
 
     @Test
+    fun testAlignmentLines_readFromModifier_duringMeasurement() = with(density) {
+        val testVerticalLine = VerticalAlignmentLine(::min)
+        val testHorizontalLine = HorizontalAlignmentLine(::max)
+
+        val assertLines: Modifier.(IntPx, IntPx) -> Modifier = { vertical, horizontal ->
+            this + object : LayoutModifier {
+                override fun MeasureScope.measure(
+                    measurable: Measurable,
+                    constraints: Constraints,
+                    layoutDirection: LayoutDirection
+                ): MeasureScope.MeasureResult {
+                    val placeable = measurable.measure(constraints)
+                    assertEquals(vertical, placeable[testVerticalLine])
+                    assertEquals(horizontal, placeable[testHorizontalLine])
+                    return layout(placeable.width, placeable.height) {
+                        placeable.place(0.ipx, 0.ipx)
+                    }
+                }
+            }
+        }
+
+        testAlignmentLinesReads(testVerticalLine, testHorizontalLine, assertLines)
+    }
+
+    @Test
+    fun testAlignmentLines_readFromModifier_duringPositioning_before() = with(density) {
+        val testVerticalLine = VerticalAlignmentLine(::min)
+        val testHorizontalLine = HorizontalAlignmentLine(::max)
+
+        val assertLines: Modifier.(IntPx, IntPx) -> Modifier = { vertical, horizontal ->
+            this + object : LayoutModifier {
+                override fun MeasureScope.measure(
+                    measurable: Measurable,
+                    constraints: Constraints,
+                    layoutDirection: LayoutDirection
+                ): MeasureScope.MeasureResult {
+                    val placeable = measurable.measure(constraints)
+                    return layout(placeable.width, placeable.height) {
+                        assertEquals(vertical, placeable[testVerticalLine])
+                        assertEquals(horizontal, placeable[testHorizontalLine])
+                        placeable.place(0.ipx, 0.ipx)
+                    }
+                }
+            }
+        }
+
+        testAlignmentLinesReads(testVerticalLine, testHorizontalLine, assertLines)
+    }
+
+    @Test
+    fun testAlignmentLines_readFromModifier_duringPositioning_after() = with(density) {
+        val testVerticalLine = VerticalAlignmentLine(::min)
+        val testHorizontalLine = HorizontalAlignmentLine(::max)
+
+        val assertLines: Modifier.(IntPx, IntPx) -> Modifier = { vertical, horizontal ->
+            this + object : LayoutModifier {
+                override fun MeasureScope.measure(
+                    measurable: Measurable,
+                    constraints: Constraints,
+                    layoutDirection: LayoutDirection
+                ): MeasureScope.MeasureResult {
+                    val placeable = measurable.measure(constraints)
+                    return layout(placeable.width, placeable.height) {
+                        placeable.place(0.ipx, 0.ipx)
+                        assertEquals(vertical, placeable[testVerticalLine])
+                        assertEquals(horizontal, placeable[testHorizontalLine])
+                    }
+                }
+            }
+        }
+
+        testAlignmentLinesReads(testVerticalLine, testHorizontalLine, assertLines)
+    }
+
+    private fun Density.testAlignmentLinesReads(
+        testVerticalLine: VerticalAlignmentLine,
+        testHorizontalLine: HorizontalAlignmentLine,
+        assertLines: Modifier.(IntPx, IntPx) -> Modifier
+    ) {
+        val layoutLatch = CountDownLatch(7)
+        activityTestRule.runOnUiThreadIR {
+            activity.setContent {
+                val layout = @Composable { modifier: Modifier ->
+                    Layout(modifier = modifier, children = {}) { _, _, _ ->
+                        layout(
+                            0.ipx,
+                            0.ipx,
+                            mapOf(
+                                testVerticalLine to 10.ipx,
+                                testHorizontalLine to 20.ipx
+                            )
+                        ) {
+                            layoutLatch.countDown()
+                        }
+                    }
+                }
+
+                layout(Modifier.assertLines(10.ipx, 20.ipx))
+                layout(Modifier.assertLines(30.ipx, 30.ipx).offset(20.ipx.toDp(), 10.ipx.toDp()))
+                layout(Modifier
+                    .assertLines(30.ipx, 30.ipx)
+                    .drawLayer()
+                    .offset(20.ipx.toDp(), 10.ipx.toDp())
+                )
+                layout(Modifier
+                    .assertLines(30.ipx, 30.ipx)
+                    .background(Color.Blue)
+                    .drawLayer()
+                    .offset(20.ipx.toDp(), 10.ipx.toDp())
+                    .drawLayer()
+                    .background(Color.Blue)
+                )
+                layout(Modifier
+                    .background(Color.Blue)
+                    .assertLines(30.ipx, 30.ipx)
+                    .background(Color.Blue)
+                    .drawLayer()
+                    .offset(20.ipx.toDp(), 10.ipx.toDp())
+                    .drawLayer()
+                    .background(Color.Blue)
+                )
+                Wrap(
+                    Modifier
+                        .background(Color.Blue)
+                        .assertLines(30.ipx, 30.ipx)
+                        .background(Color.Blue)
+                        .drawLayer()
+                        .offset(20.ipx.toDp(), 10.ipx.toDp())
+                        .drawLayer()
+                        .background(Color.Blue)
+                ) {
+                    layout(Modifier)
+                }
+                Wrap(
+                    Modifier
+                        .background(Color.Blue)
+                        .assertLines(40.ipx, 50.ipx)
+                        .background(Color.Blue)
+                        .drawLayer()
+                        .offset(20.ipx.toDp(), 10.ipx.toDp())
+                        .drawLayer()
+                        .background(Color.Blue)
+                ) {
+                    layout(Modifier.offset(10.ipx.toDp(), 20.ipx.toDp()))
+                }
+            }
+        }
+        assertTrue(layoutLatch.await(1, TimeUnit.SECONDS))
+    }
+
+    @Test
     fun testLayoutBeforeDraw_forRecomposingNodesNotAffectingRootSize() {
         val model = OffsetModel(0.ipx)
         var latch = CountDownLatch(1)
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidOwnerExtraAssertionsRule.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidOwnerExtraAssertionsRule.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidOwnerExtraAssertionsRule.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidOwnerExtraAssertionsRule.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidViewCompatTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidViewCompatTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/AndroidViewCompatTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/AndroidViewCompatTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ClipTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/ClipTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ClipTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/ClipTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/DrawLayerTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/DrawLayerTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/DrawLayerTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/DrawLayerTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/DrawReorderingTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/DrawReorderingTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/DrawReorderingTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/DrawReorderingTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/DrawShadowTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/DrawShadowTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/DrawShadowTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/DrawShadowTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/LayerTouchTransformTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/LayerTouchTransformTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/LayerTouchTransformTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/LayerTouchTransformTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/LayoutTagTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/LayoutTagTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/LayoutTagTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/LayoutTagTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ModelReadsTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/ModelReadsTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ModelReadsTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/ModelReadsTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/OnPositionedTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/OnPositionedTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/OnPositionedTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/OnPositionedTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/OpacityTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/OpacityTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/OpacityTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/OpacityTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ParentDataModifierTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/ParentDataModifierTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ParentDataModifierTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/ParentDataModifierTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/RootNodeLayoutTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/RootNodeLayoutTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/RootNodeLayoutTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/RootNodeLayoutTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/RtlLayoutTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/RtlLayoutTest.kt
similarity index 92%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/RtlLayoutTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/RtlLayoutTest.kt
index 4843fdd..219a643f 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/RtlLayoutTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/RtlLayoutTest.kt
@@ -18,6 +18,7 @@
 
 import android.os.Build
 import androidx.compose.Composable
+import androidx.compose.mutableStateOf
 import androidx.test.filters.SdkSuppress
 import androidx.test.filters.SmallTest
 import androidx.test.rule.ActivityTestRule
@@ -147,6 +148,39 @@
     }
 
     @Test
+    fun customLayout_updatingDirectionCausesRemeasure() {
+        val direction = mutableStateOf(LayoutDirection.Rtl)
+        var latch = CountDownLatch(1)
+        var actualDirection: LayoutDirection? = null
+
+        activityTestRule.runOnUiThread {
+            activity.setContent {
+                val children = @Composable {
+                    Layout({}) { _, _, layoutDirection ->
+                        actualDirection = layoutDirection
+                        latch.countDown()
+                        layout(100.ipx, 100.ipx) {}
+                    }
+                }
+                Layout(children) { measurables, constraints, _ ->
+                    layout(100.ipx, 100.ipx) {
+                        measurables.first().measure(constraints, direction.value)
+                            .place(0.ipx, 0.ipx)
+                    }
+                }
+            }
+        }
+        assertTrue(latch.await(1, TimeUnit.SECONDS))
+        assertEquals(LayoutDirection.Rtl, actualDirection)
+
+        latch = CountDownLatch(1)
+        activityTestRule.runOnUiThread { direction.value = LayoutDirection.Ltr }
+
+        assertTrue(latch.await(1, TimeUnit.SECONDS))
+        assertEquals(LayoutDirection.Ltr, actualDirection)
+    }
+
+    @Test
     @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
     fun measurement_subsequentChanges() = with(density) {
         // The layout is a 100.dp white square, wrapped by 10.dp blue padding, wrapped by
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ValueModel.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/ValueModel.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/ValueModel.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/ValueModel.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/WithConstraintsTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/WithConstraintsTest.kt
similarity index 85%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/WithConstraintsTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/WithConstraintsTest.kt
index cc7b67c..5b88e0f 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/WithConstraintsTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/WithConstraintsTest.kt
@@ -21,8 +21,11 @@
 import android.graphics.Bitmap
 import android.os.Build
 import androidx.compose.Composable
+import androidx.compose.State
 import androidx.compose.emptyContent
 import androidx.compose.getValue
+import androidx.compose.mutableStateOf
+import androidx.compose.onDispose
 import androidx.compose.remember
 import androidx.compose.setValue
 import androidx.compose.state
@@ -30,6 +33,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.rule.ActivityTestRule
 import androidx.ui.core.Constraints
+import androidx.ui.core.DensityAmbient
 import androidx.ui.core.Layout
 import androidx.ui.core.LayoutDirection
 import androidx.ui.core.LayoutModifier
@@ -47,9 +51,12 @@
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Paint
 import androidx.ui.graphics.vector.VectorPainter
+import androidx.ui.layout.Constraints
+import androidx.ui.layout.DpConstraints
 import androidx.ui.layout.ltr
 import androidx.ui.layout.rtl
 import androidx.ui.unit.Density
+import androidx.ui.unit.Dp
 import androidx.ui.unit.IntPx
 import androidx.ui.unit.IntPxSize
 import androidx.ui.unit.PxPosition
@@ -98,13 +105,13 @@
         val secondChildConstraints = Ref<Constraints>()
         rule.runOnUiThreadIR {
             activity.setContent {
-                WithConstraints { constraints, _ ->
+                WithConstraints {
                     topConstraints.value = constraints
                     Padding(size = size) {
                         val drawModifier = Modifier.drawBehind {
                             countDownLatch.countDown()
                         }
-                        WithConstraints(drawModifier) { constraints, _ ->
+                        WithConstraints(drawModifier) {
                             paddedConstraints.value = constraints
                             Layout(measureBlock = { _, childConstraints, _ ->
                                 firstChildConstraints.value = childConstraints
@@ -142,7 +149,7 @@
 
         rule.runOnUiThreadIR {
             activity.setContent {
-                WithConstraints { constraints, _ ->
+                WithConstraints {
                     val outerModifier = Modifier.drawBehind {
                         val paint = Paint()
                         paint.color = model.outerColor
@@ -227,7 +234,7 @@
 
         rule.runOnUiThreadIR {
             activity.setContent {
-                WithConstraints { _, _ ->
+                WithConstraints {
                     // this block is called as a subcomposition from LayoutNode.measure()
                     // VectorPainter introduces additional subcomposition which is closing the
                     // current frame and opens a new one. our model reads during measure()
@@ -237,7 +244,9 @@
                         VectorPainter(
                             name = "testPainter",
                             defaultWidth = 10.dp,
-                            defaultHeight = 10.dp) { _, _ -> /* intentionally empty */
+                            defaultHeight = 10.dp
+                        ) { _, _ ->
+                            /* intentionally empty */
                         }
                     )
                     Layout(modifier = background, children = {}) { _, _, _ ->
@@ -265,7 +274,7 @@
 
         rule.runOnUiThreadIR {
             activity.setContent {
-                WithConstraints { _, _ ->
+                WithConstraints {
                     recompositionsCount1++
                     Container(100.ipx, 100.ipx) {
                         model.value // model read
@@ -293,7 +302,7 @@
         rule.runOnUiThreadIR {
             activity.setContent {
                 ChangingConstraintsLayout(model) {
-                    WithConstraints { constraints, _ ->
+                    WithConstraints {
                         actualConstraints = constraints
                         assertEquals(1, latch.count)
                         latch.countDown()
@@ -313,6 +322,34 @@
     }
 
     @Test
+    fun updateLayoutDirectionRecomposingWithConstraints() {
+        val direction = mutableStateOf(LayoutDirection.Rtl)
+        var latch = CountDownLatch(1)
+        var actualDirection: LayoutDirection? = null
+
+        rule.runOnUiThreadIR {
+            activity.setContent {
+                ChangingLayoutDirectionLayout(direction) {
+                    WithConstraints {
+                        actualDirection = layoutDirection
+                        assertEquals(1, latch.count)
+                        latch.countDown()
+                        Container(width = 100.ipx, height = 100.ipx, children = emptyContent())
+                    }
+                }
+            }
+        }
+        assertTrue(latch.await(1, TimeUnit.SECONDS))
+        assertEquals(LayoutDirection.Rtl, actualDirection)
+
+        latch = CountDownLatch(1)
+        rule.runOnUiThread { direction.value = LayoutDirection.Ltr }
+
+        assertTrue(latch.await(1, TimeUnit.SECONDS))
+        assertEquals(LayoutDirection.Ltr, actualDirection)
+    }
+
+    @Test
     fun withConstsraintsBehavesAsWrap() {
         val size = ValueModel(50.ipx)
         var withConstLatch = CountDownLatch(1)
@@ -330,7 +367,7 @@
                         assertTrue(withConstSize == null || withConstSize == it.size)
                         withConstSize = it.size
                         withConstLatch.countDown()
-                    }) { _, _ ->
+                    }) {
                         Container(width = size.value, height = size.value,
                             modifier = Modifier.onPositioned {
                                 // OnPositioned can be fired multiple times with the same value
@@ -373,7 +410,8 @@
             activity.setContent {
                 Container(100.ipx, 100.ipx, backgroundModifier(Color.Red)) {
                     ChangingConstraintsLayout(model) {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
+                            val receivedConstraints = constraints
                             Container(100.ipx, 100.ipx, infiniteConstraints) {
                                 Container(100.ipx, 100.ipx) {
                                     Layout(
@@ -381,7 +419,7 @@
                                         countdownLatchBackgroundModifier(Color.Yellow)
                                     ) { _, _, _ ->
                                         // the same as the value inside ValueModel
-                                        val size = constraints.maxWidth
+                                        val size = receivedConstraints.maxWidth
                                         layout(size, size) {}
                                     }
                                 }
@@ -411,7 +449,7 @@
         rule.runOnUiThread {
             activity.setContent {
                 Container(width = 100.ipx, height = 100.ipx) {
-                    WithConstraints { _, _ ->
+                    WithConstraints {
                         // this replicates the popular pattern we currently use
                         // where we save some data calculated in the measuring block
                         // and then use it in the next composition frame
@@ -448,7 +486,7 @@
                     // this component changes the constraints which triggers subcomposition
                     // within onMeasure block
                     ChangingConstraintsLayout(model) {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             if (constraints.maxWidth == 100.ipx) {
                                 // we will stop emmitting this layouts after constraints change
                                 // Additional Container is needed so the Layout will be
@@ -509,7 +547,7 @@
                     }
                     layout(100.ipx, 100.ipx) {}
                 }
-                WithConstraints { _, _ -> }
+                WithConstraints {}
             }
         }
         assertTrue(drawlatch.await(1, TimeUnit.SECONDS))
@@ -529,7 +567,7 @@
                 outerComposeLatch.countDown()
                 val children = @Composable {
                     Layout(children = {
-                        WithConstraints { _, _ ->
+                        WithConstraints {
                             assertEquals(1, innerComposeLatch.count)
                             innerComposeLatch.countDown()
                             Layout(children = emptyContent()) { _, _, _ ->
@@ -576,7 +614,7 @@
             activity.setContent {
                 val state = state { 0 }
                 ContainerChildrenAffectsParentSize(100.ipx, 100.ipx) {
-                    WithConstraints { _, _ ->
+                    WithConstraints {
                         Layout(
                             children = {},
                             modifier = countdownLatchBackgroundModifier(Color.Transparent)
@@ -589,7 +627,7 @@
                         }
                     }
                     Container(100.ipx, 100.ipx) {
-                        WithConstraints { _, _ -> }
+                        WithConstraints {}
                     }
                 }
             }
@@ -608,7 +646,7 @@
             activity.setContent {
                 Layout(
                     children = @Composable {
-                        WithConstraints { _, layoutDirection ->
+                        WithConstraints {
                             resultLayoutDirection = layoutDirection
                         }
                     },
@@ -637,7 +675,7 @@
                     children = @Composable {
                         WithConstraints(
                             modifier = layoutDirectionModifier(LayoutDirection.Rtl)
-                        ) { _, layoutDirection ->
+                        ) {
                             resultLayoutDirection = layoutDirection
                             latch.countDown()
                         }
@@ -674,7 +712,7 @@
                         measurables.first().measure(zeroConstraints).place(0.ipx, 0.ipx)
                     }
                 }, children = {
-                    WithConstraints { _, _ ->
+                    WithConstraints {
                         compositionLatch.countDown()
                         Layout(children = {}) { _, _, _ ->
                             childMeasureLatch.countDown()
@@ -689,6 +727,76 @@
         assertTrue(childMeasureLatch.await(1, TimeUnit.SECONDS))
     }
 
+    @Test
+    fun onDisposeInsideWithConstraintsCalled() {
+        var emit by mutableStateOf(true)
+        val composedLatch = CountDownLatch(1)
+        val disposedLatch = CountDownLatch(1)
+        rule.runOnUiThreadIR {
+            activity.setContent {
+                if (emit) {
+                    WithConstraints {
+                        composedLatch.countDown()
+                        onDispose {
+                            disposedLatch.countDown()
+                        }
+                    }
+                }
+            }
+        }
+
+        assertTrue(composedLatch.await(1, TimeUnit.SECONDS))
+
+        rule.runOnUiThread {
+            emit = false
+        }
+        assertTrue(disposedLatch.await(1, TimeUnit.SECONDS))
+    }
+
+    @Test
+    fun dpOverloadsHaveCorrectValues() {
+        val dpConstraints = DpConstraints(
+            minWidth = 5.dp,
+            maxWidth = 7.dp,
+            minHeight = 9.dp,
+            maxHeight = 12.dp
+        )
+        val latch = CountDownLatch(1)
+        var actualMinWidth: Dp = 0.dp
+        var actualMaxWidth: Dp = 0.dp
+        var actualMinHeight: Dp = 0.dp
+        var actualMaxHeight: Dp = 0.dp
+        var density: Density? = null
+        rule.runOnUiThreadIR {
+            activity.setContent {
+                Layout(
+                    children = @Composable {
+                        WithConstraints {
+                            density = DensityAmbient.current
+                            actualMinWidth = minWidth
+                            actualMaxWidth = maxWidth
+                            actualMinHeight = minHeight
+                            actualMaxHeight = maxHeight
+                            latch.countDown()
+                        }
+                    }
+                ) { m, _, _ ->
+                    layout(0.ipx, 0.ipx) {
+                        m.first().measure(Constraints(dpConstraints)).place(PxPosition.Origin)
+                    }
+                }
+            }
+        }
+
+        assertTrue(latch.await(1, TimeUnit.SECONDS))
+        with(density!!) {
+            assertEquals(dpConstraints.minWidth.toIntPx(), actualMinWidth.toIntPx())
+            assertEquals(dpConstraints.maxWidth.toIntPx(), actualMaxWidth.toIntPx())
+            assertEquals(dpConstraints.minHeight.toIntPx(), actualMinHeight.toIntPx())
+            assertEquals(dpConstraints.maxHeight.toIntPx(), actualMaxHeight.toIntPx())
+        }
+    }
+
     private fun takeScreenShot(size: Int): Bitmap {
         assertTrue(drawLatch.await(1, TimeUnit.SECONDS))
         val bitmap = rule.waitAndScreenShot()
@@ -714,7 +822,7 @@
 @Composable
 private fun TestLayout(@Suppress("UNUSED_PARAMETER") someInput: Int) {
     Layout(children = {
-        WithConstraints { _, _ ->
+        WithConstraints {
             NeedsOtherMeasurementComposable(10.ipx)
         }
     }) { measurables, constraints, _ ->
@@ -793,6 +901,19 @@
     }
 }
 
+@Composable
+private fun ChangingLayoutDirectionLayout(
+    direction: State<LayoutDirection>,
+    children: @Composable() () -> Unit
+) {
+    Layout(children) { measurables, _, _ ->
+        layout(100.ipx, 100.ipx) {
+            val constraints = Constraints.fixed(100.ipx, 100.ipx)
+            measurables.first().measure(constraints, direction.value).place(0.ipx, 0.ipx)
+        }
+    }
+}
+
 fun backgroundModifier(color: Color) = Modifier.drawBehind {
     val paint = Paint()
     paint.color = color
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/core/test/WrapperTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/core/test/WrapperTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/core/test/WrapperTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/core/test/WrapperTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/framework/test/TestActivity.kt b/ui/ui-core/src/androidTest/java/androidx/ui/framework/test/TestActivity.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/framework/test/TestActivity.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/framework/test/TestActivity.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt b/ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
similarity index 98%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
index d55b354..e3596cb 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/VectorInvalidationTestCase.kt
@@ -24,7 +24,7 @@
 import androidx.ui.core.drawBehind
 import androidx.ui.core.paint
 import androidx.ui.core.test.AtLeastSize
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.geometry.Rect
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Paint
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/VectorTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/VectorTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/VectorTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
similarity index 99%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
index a06840d..ac1c555 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/graphics/vector/compat/XmlVectorParserTest.kt
@@ -18,7 +18,7 @@
 
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.SolidColor
 import androidx.ui.graphics.vector.PathNode
diff --git a/ui/ui-platform/src/androidTest/java/androidx/ui/input/RecordingInputConnectionTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/input/RecordingInputConnectionTest.kt
similarity index 100%
rename from ui/ui-platform/src/androidTest/java/androidx/ui/input/RecordingInputConnectionTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/input/RecordingInputConnectionTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/node/PointerInteropFilterTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/node/PointerInteropFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/node/PointerInteropFilterTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/node/PointerInteropFilterTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/node/PointerInteropUtilsTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/node/PointerInteropUtilsTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/node/PointerInteropUtilsTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/node/PointerInteropUtilsTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/res/ColorResourcesTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/res/ColorResourcesTest.kt
similarity index 97%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/res/ColorResourcesTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/res/ColorResourcesTest.kt
index 3edf6b9..a428ba6 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/res/ColorResourcesTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/res/ColorResourcesTest.kt
@@ -20,7 +20,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.ui.core.ContextAmbient
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.graphics.Color
 import androidx.ui.test.createComposeRule
 import com.google.common.truth.Truth.assertThat
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/res/FontResourcesTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/res/FontResourcesTest.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/res/FontResourcesTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/res/FontResourcesTest.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/res/PrimitiveResourcesTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/res/PrimitiveResourcesTest.kt
similarity index 98%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/res/PrimitiveResourcesTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/res/PrimitiveResourcesTest.kt
index 741ae23..0b81f37 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/res/PrimitiveResourcesTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/res/PrimitiveResourcesTest.kt
@@ -21,7 +21,7 @@
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.ui.core.ContextAmbient
 import androidx.ui.unit.dp
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.test.createComposeRule
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/res/ResourcesTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/res/ResourcesTest.kt
similarity index 99%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/res/ResourcesTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/res/ResourcesTest.kt
index 799a5db..87e8e54 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/res/ResourcesTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/res/ResourcesTest.kt
@@ -21,7 +21,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.ui.core.ContextAmbient
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.graphics.ImageAsset
 import androidx.ui.graphics.asAndroidBitmap
 import androidx.ui.graphics.imageFromResource
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/res/StringResourcesTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/res/StringResourcesTest.kt
similarity index 99%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/res/StringResourcesTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/res/StringResourcesTest.kt
index c64fb86..2ce761a 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/res/StringResourcesTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/res/StringResourcesTest.kt
@@ -20,7 +20,7 @@
 import androidx.test.filters.SmallTest
 import androidx.test.platform.app.InstrumentationRegistry
 import androidx.ui.core.ContextAmbient
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.test.createComposeRule
 import com.google.common.truth.Truth.assertThat
 import org.junit.Rule
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/semantics/SemanticsTests.kt b/ui/ui-core/src/androidTest/java/androidx/ui/semantics/SemanticsTests.kt
similarity index 100%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/semantics/SemanticsTests.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/semantics/SemanticsTests.kt
diff --git a/ui/ui-framework/src/androidTest/java/androidx/ui/viewinterop/ComposedViewTest.kt b/ui/ui-core/src/androidTest/java/androidx/ui/viewinterop/ComposedViewTest.kt
similarity index 98%
rename from ui/ui-framework/src/androidTest/java/androidx/ui/viewinterop/ComposedViewTest.kt
rename to ui/ui-core/src/androidTest/java/androidx/ui/viewinterop/ComposedViewTest.kt
index d635523..4bcd392 100644
--- a/ui/ui-framework/src/androidTest/java/androidx/ui/viewinterop/ComposedViewTest.kt
+++ b/ui/ui-core/src/androidTest/java/androidx/ui/viewinterop/ComposedViewTest.kt
@@ -27,7 +27,7 @@
 import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
 import androidx.test.espresso.matcher.ViewMatchers.withClassName
 import androidx.test.filters.SmallTest
-import androidx.ui.framework.test.R
+import androidx.ui.core.test.R
 import androidx.ui.test.android.AndroidComposeTestRule
 import org.hamcrest.CoreMatchers.endsWith
 import org.hamcrest.CoreMatchers.equalTo
diff --git a/ui/ui-framework/src/androidTest/res/drawable/failed_image.png b/ui/ui-core/src/androidTest/res/drawable/failed_image.png
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/failed_image.png
rename to ui/ui-core/src/androidTest/res/drawable/failed_image.png
Binary files differ
diff --git a/ui/ui-framework/src/androidTest/res/drawable/ic_triangle.xml b/ui/ui-core/src/androidTest/res/drawable/ic_triangle.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/ic_triangle.xml
rename to ui/ui-core/src/androidTest/res/drawable/ic_triangle.xml
diff --git a/ui/ui-framework/src/androidTest/res/drawable/ic_triangle2.xml b/ui/ui-core/src/androidTest/res/drawable/ic_triangle2.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/ic_triangle2.xml
rename to ui/ui-core/src/androidTest/res/drawable/ic_triangle2.xml
diff --git a/ui/ui-framework/src/androidTest/res/drawable/loaded_image.png b/ui/ui-core/src/androidTest/res/drawable/loaded_image.png
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/loaded_image.png
rename to ui/ui-core/src/androidTest/res/drawable/loaded_image.png
Binary files differ
diff --git a/ui/ui-framework/src/androidTest/res/drawable/pending_image.png b/ui/ui-core/src/androidTest/res/drawable/pending_image.png
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/pending_image.png
rename to ui/ui-core/src/androidTest/res/drawable/pending_image.png
Binary files differ
diff --git a/ui/ui-framework/src/androidTest/res/drawable/test_compose_vector.xml b/ui/ui-core/src/androidTest/res/drawable/test_compose_vector.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/test_compose_vector.xml
rename to ui/ui-core/src/androidTest/res/drawable/test_compose_vector.xml
diff --git a/ui/ui-framework/src/androidTest/res/drawable/test_compose_vector2.xml b/ui/ui-core/src/androidTest/res/drawable/test_compose_vector2.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/test_compose_vector2.xml
rename to ui/ui-core/src/androidTest/res/drawable/test_compose_vector2.xml
diff --git a/ui/ui-framework/src/androidTest/res/drawable/test_compose_vector3.xml b/ui/ui-core/src/androidTest/res/drawable/test_compose_vector3.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/drawable/test_compose_vector3.xml
rename to ui/ui-core/src/androidTest/res/drawable/test_compose_vector3.xml
diff --git a/ui/ui-framework/src/androidTest/res/layout/test_layout.xml b/ui/ui-core/src/androidTest/res/layout/test_layout.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/layout/test_layout.xml
rename to ui/ui-core/src/androidTest/res/layout/test_layout.xml
diff --git a/ui/ui-framework/src/androidTest/res/values-es/strings.xml b/ui/ui-core/src/androidTest/res/values-es/strings.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/values-es/strings.xml
rename to ui/ui-core/src/androidTest/res/values-es/strings.xml
diff --git a/ui/ui-framework/src/androidTest/res/values/strings.xml b/ui/ui-core/src/androidTest/res/values/strings.xml
similarity index 100%
rename from ui/ui-framework/src/androidTest/res/values/strings.xml
rename to ui/ui-core/src/androidTest/res/values/strings.xml
diff --git a/ui/ui-framework/src/main/java/androidx/compose/ComposerCompat.kt b/ui/ui-core/src/main/java/androidx/compose/ComposerCompat.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/compose/ComposerCompat.kt
rename to ui/ui-core/src/main/java/androidx/compose/ComposerCompat.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/autofill/AndroidAutofill.kt b/ui/ui-core/src/main/java/androidx/ui/autofill/AndroidAutofill.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/autofill/AndroidAutofill.kt
rename to ui/ui-core/src/main/java/androidx/ui/autofill/AndroidAutofill.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/autofill/AndroidAutofillDebugUtils.kt b/ui/ui-core/src/main/java/androidx/ui/autofill/AndroidAutofillDebugUtils.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/autofill/AndroidAutofillDebugUtils.kt
rename to ui/ui-core/src/main/java/androidx/ui/autofill/AndroidAutofillDebugUtils.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/autofill/AndroidAutofillType.kt b/ui/ui-core/src/main/java/androidx/ui/autofill/AndroidAutofillType.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/autofill/AndroidAutofillType.kt
rename to ui/ui-core/src/main/java/androidx/ui/autofill/AndroidAutofillType.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt b/ui/ui-core/src/main/java/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
similarity index 84%
rename from ui/ui-platform/src/main/java/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
index 2460ec3..0813032 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/AndroidComposeViewAccessibilityDelegateCompat.kt
@@ -44,38 +44,38 @@
         const val InvalidId = Integer.MIN_VALUE
         const val ClassName = "android.view.View"
         private val AccessibilityActionsResourceIds = intArrayOf(
-            androidx.ui.platform.R.id.accessibility_custom_action_0,
-            androidx.ui.platform.R.id.accessibility_custom_action_1,
-            androidx.ui.platform.R.id.accessibility_custom_action_2,
-            androidx.ui.platform.R.id.accessibility_custom_action_3,
-            androidx.ui.platform.R.id.accessibility_custom_action_4,
-            androidx.ui.platform.R.id.accessibility_custom_action_5,
-            androidx.ui.platform.R.id.accessibility_custom_action_6,
-            androidx.ui.platform.R.id.accessibility_custom_action_7,
-            androidx.ui.platform.R.id.accessibility_custom_action_8,
-            androidx.ui.platform.R.id.accessibility_custom_action_9,
-            androidx.ui.platform.R.id.accessibility_custom_action_10,
-            androidx.ui.platform.R.id.accessibility_custom_action_11,
-            androidx.ui.platform.R.id.accessibility_custom_action_12,
-            androidx.ui.platform.R.id.accessibility_custom_action_13,
-            androidx.ui.platform.R.id.accessibility_custom_action_14,
-            androidx.ui.platform.R.id.accessibility_custom_action_15,
-            androidx.ui.platform.R.id.accessibility_custom_action_16,
-            androidx.ui.platform.R.id.accessibility_custom_action_17,
-            androidx.ui.platform.R.id.accessibility_custom_action_18,
-            androidx.ui.platform.R.id.accessibility_custom_action_19,
-            androidx.ui.platform.R.id.accessibility_custom_action_20,
-            androidx.ui.platform.R.id.accessibility_custom_action_21,
-            androidx.ui.platform.R.id.accessibility_custom_action_22,
-            androidx.ui.platform.R.id.accessibility_custom_action_23,
-            androidx.ui.platform.R.id.accessibility_custom_action_24,
-            androidx.ui.platform.R.id.accessibility_custom_action_25,
-            androidx.ui.platform.R.id.accessibility_custom_action_26,
-            androidx.ui.platform.R.id.accessibility_custom_action_27,
-            androidx.ui.platform.R.id.accessibility_custom_action_28,
-            androidx.ui.platform.R.id.accessibility_custom_action_29,
-            androidx.ui.platform.R.id.accessibility_custom_action_30,
-            androidx.ui.platform.R.id.accessibility_custom_action_31
+            androidx.ui.core.R.id.accessibility_custom_action_0,
+            androidx.ui.core.R.id.accessibility_custom_action_1,
+            androidx.ui.core.R.id.accessibility_custom_action_2,
+            androidx.ui.core.R.id.accessibility_custom_action_3,
+            androidx.ui.core.R.id.accessibility_custom_action_4,
+            androidx.ui.core.R.id.accessibility_custom_action_5,
+            androidx.ui.core.R.id.accessibility_custom_action_6,
+            androidx.ui.core.R.id.accessibility_custom_action_7,
+            androidx.ui.core.R.id.accessibility_custom_action_8,
+            androidx.ui.core.R.id.accessibility_custom_action_9,
+            androidx.ui.core.R.id.accessibility_custom_action_10,
+            androidx.ui.core.R.id.accessibility_custom_action_11,
+            androidx.ui.core.R.id.accessibility_custom_action_12,
+            androidx.ui.core.R.id.accessibility_custom_action_13,
+            androidx.ui.core.R.id.accessibility_custom_action_14,
+            androidx.ui.core.R.id.accessibility_custom_action_15,
+            androidx.ui.core.R.id.accessibility_custom_action_16,
+            androidx.ui.core.R.id.accessibility_custom_action_17,
+            androidx.ui.core.R.id.accessibility_custom_action_18,
+            androidx.ui.core.R.id.accessibility_custom_action_19,
+            androidx.ui.core.R.id.accessibility_custom_action_20,
+            androidx.ui.core.R.id.accessibility_custom_action_21,
+            androidx.ui.core.R.id.accessibility_custom_action_22,
+            androidx.ui.core.R.id.accessibility_custom_action_23,
+            androidx.ui.core.R.id.accessibility_custom_action_24,
+            androidx.ui.core.R.id.accessibility_custom_action_25,
+            androidx.ui.core.R.id.accessibility_custom_action_26,
+            androidx.ui.core.R.id.accessibility_custom_action_27,
+            androidx.ui.core.R.id.accessibility_custom_action_28,
+            androidx.ui.core.R.id.accessibility_custom_action_29,
+            androidx.ui.core.R.id.accessibility_custom_action_30,
+            androidx.ui.core.R.id.accessibility_custom_action_31
         )
     }
     /** Virtual view id for the currently hovered logical item. */
@@ -177,11 +177,24 @@
                     .AccessibilityActionCompat.ACTION_CLICK
             )
         }
+
+        var rangeInfo =
+            semanticsNode.config.getOrNull(SemanticsProperties.AccessibilityRangeInfo)
+        if (rangeInfo != null) {
+            info.rangeInfo = AccessibilityNodeInfoCompat.RangeInfoCompat.obtain(
+                AccessibilityNodeInfoCompat.RangeInfoCompat.RANGE_TYPE_FLOAT,
+                rangeInfo.current,
+                rangeInfo.range.start, rangeInfo.range.endInclusive
+            )
+        }
+
         if (semanticsNode.config.contains(CustomActions)) {
             var customActions = semanticsNode.config[CustomActions]
             if (customActions.size >= AccessibilityActionsResourceIds.size) {
-                throw IllegalStateException("Can't have more than " +
-                        "${AccessibilityActionsResourceIds.size} custom actions for one widget")
+                throw IllegalStateException(
+                    "Can't have more than " +
+                            "${AccessibilityActionsResourceIds.size} custom actions for one widget"
+                )
             }
             var currentActionIdToLabel = SparseArrayCompat<CharSequence>()
             var currentLabelToActionId = mutableMapOf<CharSequence, Int>()
@@ -199,8 +212,11 @@
                         currentActionIdToLabel.put(actionId!!, action.label)
                         currentLabelToActionId[action.label] = actionId
                         availableIds.remove(actionId)
-                        info.addAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat(
-                            actionId, action.label))
+                        info.addAction(
+                            AccessibilityNodeInfoCompat.AccessibilityActionCompat(
+                                actionId, action.label
+                            )
+                        )
                     } else {
                         unassignedActions.add(action)
                     }
@@ -209,16 +225,22 @@
                     var actionId = availableIds[index]
                     currentActionIdToLabel.put(actionId, action.label)
                     currentLabelToActionId[action.label] = actionId
-                    info.addAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat(
-                        actionId, action.label))
+                    info.addAction(
+                        AccessibilityNodeInfoCompat.AccessibilityActionCompat(
+                            actionId, action.label
+                        )
+                    )
                 }
             } else {
                 for ((index, action) in customActions.withIndex()) {
                     var actionId = AccessibilityActionsResourceIds[index]
                     currentActionIdToLabel.put(actionId, action.label)
                     currentLabelToActionId[action.label] = actionId
-                    info.addAction(AccessibilityNodeInfoCompat.AccessibilityActionCompat(
-                        actionId, action.label))
+                    info.addAction(
+                        AccessibilityNodeInfoCompat.AccessibilityActionCompat(
+                            actionId, action.label
+                        )
+                    )
                 }
             }
             actionIdToLabel.put(virtualViewId, currentActionIdToLabel)
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/AndroidOwner.kt b/ui/ui-core/src/main/java/androidx/ui/core/AndroidOwner.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/AndroidOwner.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/AndroidOwner.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/AndroidViewsHandler.kt b/ui/ui-core/src/main/java/androidx/ui/core/AndroidViewsHandler.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/AndroidViewsHandler.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/AndroidViewsHandler.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Clip.kt b/ui/ui-core/src/main/java/androidx/ui/core/Clip.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/Clip.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/Clip.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ComponentNodes.kt b/ui/ui-core/src/main/java/androidx/ui/core/ComponentNodes.kt
similarity index 98%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ComponentNodes.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ComponentNodes.kt
index 7901e87..75fd646 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/ComponentNodes.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/ComponentNodes.kt
@@ -558,6 +558,11 @@
         private set
 
     /**
+     * `true` while doing [calculateAlignmentLines]
+     */
+    private var isCalculatingAlignmentLines = false
+
+    /**
      * `true` when the current node is positioned during the measure pass,
      * since it needs to compute alignment lines.
      */
@@ -579,7 +584,7 @@
      */
     var needsRelayout = false
         internal set(value) {
-            require(!isMeasuring)
+            require(!isMeasuring || isCalculatingAlignmentLines)
             require(!isLayingOut)
             field = value
         }
@@ -842,7 +847,10 @@
         val parent = parentLayoutNode
         // The more idiomatic, `if (parentLayoutNode?.isMeasuring == true)` causes boxing
         affectsParentSize = parent != null && parent.isMeasuring == true
-        if (this.constraints == constraints && !needsRemeasure) {
+        if (this.constraints == constraints &&
+            layoutNodeWrapper.measureScope.layoutDirection == layoutDirection &&
+            !needsRemeasure
+        ) {
             return layoutNodeWrapper // we're already measured to this size, don't do anything
         }
 
@@ -984,6 +992,7 @@
     }
 
     internal fun calculateAlignmentLines(): Map<AlignmentLine, IntPx> {
+        isCalculatingAlignmentLines = true
         alignmentLinesRead = true
         alignmentLinesQueryOwner = this
         alignmentLinesQueriedSinceLastLayout = true
@@ -991,6 +1000,7 @@
             needsRelayout = true
             layout()
         }
+        isCalculatingAlignmentLines = false
         return alignmentLines
     }
 
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/DebugUtils.kt b/ui/ui-core/src/main/java/androidx/ui/core/DebugUtils.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/DebugUtils.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/DebugUtils.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/DelegatingLayoutNodeWrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/DelegatingLayoutNodeWrapper.kt
similarity index 89%
rename from ui/ui-platform/src/main/java/androidx/ui/core/DelegatingLayoutNodeWrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/DelegatingLayoutNodeWrapper.kt
index 80d4b9b..67f0806 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/DelegatingLayoutNodeWrapper.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/DelegatingLayoutNodeWrapper.kt
@@ -23,8 +23,6 @@
 import androidx.ui.unit.IntPxPosition
 import androidx.ui.unit.PxPosition
 import androidx.ui.unit.ipx
-import androidx.ui.unit.round
-import androidx.ui.unit.toPx
 
 /**
  * [LayoutNodeWrapper] with default implementations for methods.
@@ -64,15 +62,18 @@
         }
     }
 
-    override fun get(line: AlignmentLine): IntPx? {
-        val value = wrapped[line] ?: return null
-        val px = value.toPx()
-        val pos = wrapped.toParentPosition(PxPosition(px, px))
-        return if (line is HorizontalAlignmentLine) pos.y.round() else pos.y.round()
-    }
+    override fun get(line: AlignmentLine): IntPx? = wrapped[line]
 
     override fun place(position: IntPxPosition) {
         this.position = position
+
+        // The wrapper only runs their placement block to obtain our position, which allows them
+        // to calculate the offset of an alignment line we have already provided a position for.
+        // No need to place our wrapped as well (we might have actually done this already in
+        // get(line), to obtain the position of the alignment line the wrapper currently needs
+        // our position in order ot know how to offset the value we provided).
+        if (wrappedBy?.isShallowPlacing == true) return
+
         with(InnerPlacementScope) {
             this.parentLayoutDirection = measureScope.layoutDirection
             val previousParentWidth = parentWidth
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/DepthSortedSet.kt b/ui/ui-core/src/main/java/androidx/ui/core/DepthSortedSet.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/DepthSortedSet.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/DepthSortedSet.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/DrawShadow.kt b/ui/ui-core/src/main/java/androidx/ui/core/DrawShadow.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/DrawShadow.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/DrawShadow.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ErrorMessages.kt b/ui/ui-core/src/main/java/androidx/ui/core/ErrorMessages.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ErrorMessages.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ErrorMessages.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/InnerPlaceable.kt b/ui/ui-core/src/main/java/androidx/ui/core/InnerPlaceable.kt
similarity index 92%
rename from ui/ui-platform/src/main/java/androidx/ui/core/InnerPlaceable.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/InnerPlaceable.kt
index db54e55..5da930c 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/InnerPlaceable.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/InnerPlaceable.kt
@@ -110,8 +110,16 @@
     }
 
     override fun place(position: IntPxPosition) {
-        layoutNode.isPlaced = true
         this.position = position
+
+        // The wrapper only runs their placement block to obtain our position, which allows them
+        // to calculate the offset of an alignment line we have already provided a position for.
+        // No need to place our wrapped as well (we might have actually done this already in
+        // get(line), to obtain the position of the alignment line the wrapper currently needs
+        // our position in order ot know how to offset the value we provided).
+        if (wrappedBy?.isShallowPlacing == true) return
+
+        layoutNode.isPlaced = true
         layoutNode.layout()
     }
 
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/LayerWrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/LayerWrapper.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/LayerWrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/LayerWrapper.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt b/ui/ui-core/src/main/java/androidx/ui/core/Layout.kt
similarity index 88%
rename from ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/Layout.kt
index 47b130a..9973c13 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/Layout.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/Layout.kt
@@ -18,17 +18,22 @@
 
 import android.content.Context
 import androidx.compose.Composable
+import androidx.compose.Composition
 import androidx.compose.CompositionReference
 import androidx.compose.FrameManager
 import androidx.compose.Recomposer
+import androidx.compose.Stable
 import androidx.compose.Untracked
 import androidx.compose.compositionReference
 import androidx.compose.currentComposer
+import androidx.compose.onDispose
 import androidx.compose.remember
 import androidx.ui.unit.Density
+import androidx.ui.unit.Dp
 import androidx.ui.unit.IntPx
 import androidx.ui.unit.IntPxPosition
 import androidx.ui.unit.IntPxSize
+import androidx.ui.unit.ipx
 import androidx.ui.unit.max
 import androidx.ui.unit.min
 
@@ -437,7 +442,7 @@
 
 /**
  * A composable that defines its own content according to the available space, based on the incoming
- * constraints. Example usage:
+ * constraints or the current [LayoutDirection]. Example usage:
  * @sample androidx.ui.framework.samples.WithConstraintsSample
  *
  * The composable will compose the given children, and will position the resulting layout composables
@@ -451,7 +456,7 @@
 @Composable
 fun WithConstraints(
     modifier: Modifier = Modifier,
-    children: @Composable() (Constraints, LayoutDirection) -> Unit
+    children: @Composable() WithConstraintsScope.() -> Unit
 ) {
     val state = remember { WithConstrainsState() }
     state.children = children
@@ -476,6 +481,50 @@
     if (!layoutNode.needsRemeasure && layoutNode.owner != null) {
         state.subcompose()
     }
+    onDispose {
+        state.composition?.dispose()
+    }
+}
+
+/**
+ * Receiver scope being used by the children parameter of [WithConstraints]
+ */
+@Stable
+interface WithConstraintsScope {
+    /**
+     * The constraints given by the parent layout in pixels.
+     *
+     * Use [minWidth], [maxWidth], [minHeight] or [maxHeight] if you need value in [Dp].
+     */
+    val constraints: Constraints
+    /**
+     * The current [LayoutDirection] to be used by this layout.
+     */
+    val layoutDirection: LayoutDirection
+    /**
+     * The minimum width in [Dp].
+     *
+     * @see constraints for the values in pixels.
+     */
+    val minWidth: Dp
+    /**
+     * The maximum width in [Dp].
+     *
+     * @see constraints for the values in pixels.
+     */
+    val maxWidth: Dp
+    /**
+     * The minimum height in [Dp].
+     *
+     * @see constraints for the values in pixels.
+     */
+    val minHeight: Dp
+    /**
+     * The minimum height in [Dp].
+     *
+     * @see constraints for the values in pixels.
+     */
+    val maxHeight: Dp
 }
 
 private class WithConstrainsState {
@@ -483,9 +532,15 @@
     var compositionRef: CompositionReference? = null
     lateinit var context: Context
     val nodeRef = Ref<LayoutNode>()
-    var lastConstraints: Constraints? = null
-    var children: @Composable() (Constraints, LayoutDirection) -> Unit = { _, _ -> }
+    var children: @Composable() WithConstraintsScope.() -> Unit = { }
     var forceRecompose = false
+    var composition: Composition? = null
+
+    private var scope: WithConstraintsScope = WithConstraintsScopeImpl(
+        Density(1f),
+        Constraints.fixed(0.ipx, 0.ipx),
+        LayoutDirection.Ltr
+    )
 
     val measureBlocks = object : LayoutNode.NoIntrinsicsMeasureBlocks(
         error = "Intrinsic measurements are not supported by WithConstraints"
@@ -497,8 +552,11 @@
             layoutDirection: LayoutDirection
         ): MeasureScope.MeasureResult {
             val root = nodeRef.value!!
-            if (lastConstraints != constraints || forceRecompose) {
-                lastConstraints = constraints
+            if (scope.constraints != constraints ||
+                scope.layoutDirection != measureScope.layoutDirection ||
+                forceRecompose
+            ) {
+                scope = WithConstraintsScopeImpl(measureScope, constraints, layoutDirection)
                 root.ignoreModelReads { subcompose() }
                 // if there were models created and read inside this subcomposition
                 // and we are going to modify this models within the same frame
@@ -526,12 +584,26 @@
     }
 
     fun subcompose() {
-        val node = nodeRef.value!!
-        val constraints = lastConstraints!!
         // TODO(b/150390669): Review use of @Untracked
-        subcomposeInto(context, node, recomposer, compositionRef) @Untracked {
-            children(constraints, node.measureScope.layoutDirection)
-        }
+        composition =
+            subcomposeInto(context, nodeRef.value!!, recomposer, compositionRef) @Untracked {
+                scope.children()
+            }
         forceRecompose = false
     }
+
+    private data class WithConstraintsScopeImpl(
+        private val density: Density,
+        override val constraints: Constraints,
+        override val layoutDirection: LayoutDirection
+    ) : WithConstraintsScope {
+        override val minWidth: Dp
+            get() = with(density) { constraints.minWidth.toDp() }
+        override val maxWidth: Dp
+            get() = with(density) { constraints.maxWidth.toDp() }
+        override val minHeight: Dp
+            get() = with(density) { constraints.minHeight.toDp() }
+        override val maxHeight: Dp
+            get() = with(density) { constraints.maxHeight.toDp() }
+    }
 }
\ No newline at end of file
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/LayoutNodeWrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/LayoutNodeWrapper.kt
similarity index 97%
rename from ui/ui-platform/src/main/java/androidx/ui/core/LayoutNodeWrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/LayoutNodeWrapper.kt
index a3eb00d..bc2fe55 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/LayoutNodeWrapper.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/LayoutNodeWrapper.kt
@@ -82,6 +82,10 @@
             return layoutNode.layoutNodeWrapper.wrappedBy
         }
 
+    // True when the wrapper is running its own placing block to obtain the position of the
+    // wrapped, but is not interested in the position of the wrapped of the wrapped.
+    var isShallowPlacing = false
+
     // TODO(mount): This is not thread safe.
     private var rectCache: RectF? = null
 
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/LayoutTag.kt b/ui/ui-core/src/main/java/androidx/ui/core/LayoutTag.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/LayoutTag.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/LayoutTag.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/LayoutTreeConsistencyChecker.kt b/ui/ui-core/src/main/java/androidx/ui/core/LayoutTreeConsistencyChecker.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/LayoutTreeConsistencyChecker.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/LayoutTreeConsistencyChecker.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ModelObserver.kt b/ui/ui-core/src/main/java/androidx/ui/core/ModelObserver.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ModelObserver.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ModelObserver.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ModifiedDrawNode.kt b/ui/ui-core/src/main/java/androidx/ui/core/ModifiedDrawNode.kt
similarity index 98%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ModifiedDrawNode.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ModifiedDrawNode.kt
index f6ed00f..782316a 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/ModifiedDrawNode.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/ModifiedDrawNode.kt
@@ -95,7 +95,7 @@
             clipOp: ClipOp
         ) = canvas!!.clipRect(left, top, right, bottom, clipOp)
 
-        override fun clipPath(path: Path) = canvas!!.clipPath(path)
+        override fun clipPath(path: Path, clipOp: ClipOp) = canvas!!.clipPath(path, clipOp)
 
         override fun drawLine(p1: Offset, p2: Offset, paint: Paint) =
             canvas!!.drawLine(p1, p2, paint)
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ModifiedLayoutNode.kt b/ui/ui-core/src/main/java/androidx/ui/core/ModifiedLayoutNode.kt
similarity index 84%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ModifiedLayoutNode.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ModifiedLayoutNode.kt
index 690e5e51..8464d33 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/ModifiedLayoutNode.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/ModifiedLayoutNode.kt
@@ -62,8 +62,21 @@
             measureScope.maxIntrinsicHeight(wrapped, width, layoutDirection)
         }
 
-    override operator fun get(line: AlignmentLine): IntPx? =
-        measureResult.alignmentLines.getOrElse(line, { wrapped[line] })
+    override operator fun get(line: AlignmentLine): IntPx? {
+        if (measureResult.alignmentLines.containsKey(line)) {
+            return measureResult.alignmentLines[line]
+        }
+        val positionInWrapped = wrapped[line] ?: return null
+        // Place our wrapped to obtain their position inside ourselves.
+        isShallowPlacing = true
+        place(this.position)
+        isShallowPlacing = false
+        return if (line is HorizontalAlignmentLine) {
+            positionInWrapped + wrapped.position.y
+        } else {
+            positionInWrapped + wrapped.position.x
+        }
+    }
 
     override fun draw(canvas: Canvas) {
         withPositionTranslation(canvas) {
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ModifiedParentDataNode.kt b/ui/ui-core/src/main/java/androidx/ui/core/ModifiedParentDataNode.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ModifiedParentDataNode.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ModifiedParentDataNode.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/OnPositionedDispatcher.kt b/ui/ui-core/src/main/java/androidx/ui/core/OnPositionedDispatcher.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/OnPositionedDispatcher.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/OnPositionedDispatcher.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Opacity.kt b/ui/ui-core/src/main/java/androidx/ui/core/Opacity.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/Opacity.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/Opacity.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/OutlineResolver.kt b/ui/ui-core/src/main/java/androidx/ui/core/OutlineResolver.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/OutlineResolver.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/OutlineResolver.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/OwnedLayer.kt b/ui/ui-core/src/main/java/androidx/ui/core/OwnedLayer.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/OwnedLayer.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/OwnedLayer.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/Owner.kt b/ui/ui-core/src/main/java/androidx/ui/core/Owner.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/Owner.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/Owner.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/PainterModifier.kt b/ui/ui-core/src/main/java/androidx/ui/core/PainterModifier.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/PainterModifier.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/PainterModifier.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/ParentData.kt b/ui/ui-core/src/main/java/androidx/ui/core/ParentData.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/ParentData.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ParentData.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/PointerInputDelegatingWrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/PointerInputDelegatingWrapper.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/PointerInputDelegatingWrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/PointerInputDelegatingWrapper.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/PointerInputWrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/PointerInputWrapper.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/PointerInputWrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/PointerInputWrapper.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Popup.kt b/ui/ui-core/src/main/java/androidx/ui/core/Popup.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/Popup.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/Popup.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/RenderNodeLayer.kt b/ui/ui-core/src/main/java/androidx/ui/core/RenderNodeLayer.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/RenderNodeLayer.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/RenderNodeLayer.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/SavedStateDelegate.kt b/ui/ui-core/src/main/java/androidx/ui/core/SavedStateDelegate.kt
similarity index 99%
rename from ui/ui-platform/src/main/java/androidx/ui/core/SavedStateDelegate.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/SavedStateDelegate.kt
index ebcb4fc..9acb2bc 100644
--- a/ui/ui-platform/src/main/java/androidx/ui/core/SavedStateDelegate.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/SavedStateDelegate.kt
@@ -28,7 +28,7 @@
 import android.view.View
 import androidx.annotation.RequiresApi
 import androidx.ui.savedinstancestate.UiSavedStateRegistry
-import androidx.ui.platform.R
+import androidx.ui.core.R
 import java.io.Serializable
 
 /**
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/TestTag.kt b/ui/ui-core/src/main/java/androidx/ui/core/TestTag.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/TestTag.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/TestTag.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ViewLayer.kt b/ui/ui-core/src/main/java/androidx/ui/core/ViewLayer.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ViewLayer.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ViewLayer.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/ViewLayerContainer.kt b/ui/ui-core/src/main/java/androidx/ui/core/ViewLayerContainer.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/ViewLayerContainer.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/ViewLayerContainer.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/Wrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/Wrapper.kt
similarity index 99%
rename from ui/ui-framework/src/main/java/androidx/ui/core/Wrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/Wrapper.kt
index b4325e3..ea6a4cf 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/Wrapper.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/Wrapper.kt
@@ -51,7 +51,7 @@
 import androidx.ui.core.input.FocusManager
 import androidx.ui.core.input.FocusManagerImpl
 import androidx.ui.core.selection.SelectionContainer
-import androidx.ui.framework.R
+import androidx.ui.core.R
 import androidx.ui.core.texttoolbar.TextToolbar
 import androidx.ui.input.TextInputService
 import androidx.ui.node.UiComposer
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/clipboard/AndroidClipboardManager.kt b/ui/ui-core/src/main/java/androidx/ui/core/clipboard/AndroidClipboardManager.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/clipboard/AndroidClipboardManager.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/clipboard/AndroidClipboardManager.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/clipboard/ClipboardManager.kt b/ui/ui-core/src/main/java/androidx/ui/core/clipboard/ClipboardManager.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/clipboard/ClipboardManager.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/clipboard/ClipboardManager.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/focus/FocusModifierImpl.kt b/ui/ui-core/src/main/java/androidx/ui/core/focus/FocusModifierImpl.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/focus/FocusModifierImpl.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/focus/FocusModifierImpl.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/focus/FocusNodeUtils.kt b/ui/ui-core/src/main/java/androidx/ui/core/focus/FocusNodeUtils.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/focus/FocusNodeUtils.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/focus/FocusNodeUtils.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/focus/ModifiedFocusNode.kt b/ui/ui-core/src/main/java/androidx/ui/core/focus/ModifiedFocusNode.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/focus/ModifiedFocusNode.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/focus/ModifiedFocusNode.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/DoubleTapGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/DoubleTapGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/DoubleTapGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/DoubleTapGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/DragGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/DragGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/DragGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/DragGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/GestureUtils.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/GestureUtils.kt
similarity index 89%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/GestureUtils.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/GestureUtils.kt
index 5273f7e..8dc4be4 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/GestureUtils.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/core/gesture/GestureUtils.kt
@@ -34,9 +34,9 @@
     fastAny {
         it.current.down &&
                 it.current.position!!.x.value >= 0 &&
-                it.current.position!!.x < bounds.width &&
-                it.current.position!!.y.value >= 0 &&
-                it.current.position!!.y < bounds.height
+                it.current.position.x < bounds.width &&
+                it.current.position.y.value >= 0 &&
+                it.current.position.y < bounds.height
     }
 
 internal class PointerInputModifierImpl(override val pointerInputFilter: PointerInputFilter) :
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/LongPressDragGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/LongPressDragGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/LongPressDragGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/LongPressDragGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/LongPressGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/LongPressGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/LongPressGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/LongPressGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/PressIndicatorGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/PressIndicatorGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/PressIndicatorGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/PressIndicatorGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/RawDragGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/RawDragGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/RawDragGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/RawDragGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/RawPressStartGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/RawPressStartGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/RawPressStartGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/RawPressStartGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/RawScaleGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/RawScaleGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/RawScaleGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/RawScaleGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/ScaleGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/ScaleGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/ScaleGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/ScaleGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/ScaleUtil.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/ScaleUtil.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/ScaleUtil.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/ScaleUtil.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/TapGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/TapGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/TapGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/TapGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilter.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/constants.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/constants.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/constants.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/constants.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/util/PolyFitLeastSquares.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/util/PolyFitLeastSquares.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/util/PolyFitLeastSquares.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/util/PolyFitLeastSquares.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/gesture/util/VelocityTracker.kt b/ui/ui-core/src/main/java/androidx/ui/core/gesture/util/VelocityTracker.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/gesture/util/VelocityTracker.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/gesture/util/VelocityTracker.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/hapticfeedback/AndroidHapticFeedback.kt b/ui/ui-core/src/main/java/androidx/ui/core/hapticfeedback/AndroidHapticFeedback.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/hapticfeedback/AndroidHapticFeedback.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/hapticfeedback/AndroidHapticFeedback.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedback.kt b/ui/ui-core/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedback.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedback.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedback.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedbackType.kt b/ui/ui-core/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedbackType.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedbackType.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/hapticfeedback/HapticFeedbackType.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/input/FocusManager.kt b/ui/ui-core/src/main/java/androidx/ui/core/input/FocusManager.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/input/FocusManager.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/input/FocusManager.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/HitPathTracker.kt b/ui/ui-core/src/main/java/androidx/ui/core/pointerinput/HitPathTracker.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/HitPathTracker.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/pointerinput/HitPathTracker.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/MotionEventAdapter.kt b/ui/ui-core/src/main/java/androidx/ui/core/pointerinput/MotionEventAdapter.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/MotionEventAdapter.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/pointerinput/MotionEventAdapter.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/PointerInput.kt b/ui/ui-core/src/main/java/androidx/ui/core/pointerinput/PointerInput.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/PointerInput.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/pointerinput/PointerInput.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/PointerInputEvent.kt b/ui/ui-core/src/main/java/androidx/ui/core/pointerinput/PointerInputEvent.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/PointerInputEvent.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/pointerinput/PointerInputEvent.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/PointerInputEventProcessor.kt b/ui/ui-core/src/main/java/androidx/ui/core/pointerinput/PointerInputEventProcessor.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/pointerinput/PointerInputEventProcessor.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/pointerinput/PointerInputEventProcessor.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/Selectable.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/Selectable.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/Selectable.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/Selectable.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/Selection.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/Selection.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/Selection.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/Selection.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionContainer.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionContainer.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionContainer.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionContainer.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionHandles.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionHandles.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionHandles.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionHandles.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionManager.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionManager.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionManager.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionManager.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionRegistrar.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionRegistrar.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionRegistrar.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionRegistrar.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionRegistrarImpl.kt b/ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionRegistrarImpl.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/core/selection/SelectionRegistrarImpl.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/selection/SelectionRegistrarImpl.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsConfiguration.kt b/ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsConfiguration.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsConfiguration.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsConfiguration.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsHintOverrides.kt b/ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsHintOverrides.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsHintOverrides.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsHintOverrides.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsModifier.kt b/ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsModifier.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsModifier.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsModifier.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsNode.kt b/ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsNode.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsNode.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsNode.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsOwner.kt b/ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsOwner.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsOwner.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsOwner.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsWrapper.kt b/ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsWrapper.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/semantics/SemanticsWrapper.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/semantics/SemanticsWrapper.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/text/AndroidFontResourceLoader.kt b/ui/ui-core/src/main/java/androidx/ui/core/text/AndroidFontResourceLoader.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/text/AndroidFontResourceLoader.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/text/AndroidFontResourceLoader.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/AndroidTextToolbar.kt b/ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/AndroidTextToolbar.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/AndroidTextToolbar.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/AndroidTextToolbar.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/TextToolbar.kt b/ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/TextToolbar.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/TextToolbar.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/TextToolbar.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/TextToolbarStatus.kt b/ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/TextToolbarStatus.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/TextToolbarStatus.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/TextToolbarStatus.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/FloatingTextActionModeCallback.kt b/ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/FloatingTextActionModeCallback.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/FloatingTextActionModeCallback.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/FloatingTextActionModeCallback.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/PrimaryTextActionModeCallback.kt b/ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/PrimaryTextActionModeCallback.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/PrimaryTextActionModeCallback.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/PrimaryTextActionModeCallback.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/TextActionModeCallback.kt b/ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/TextActionModeCallback.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/TextActionModeCallback.kt
rename to ui/ui-core/src/main/java/androidx/ui/core/texttoolbar/actionmodecallback/TextActionModeCallback.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/focus/FocusModifierProvider.kt b/ui/ui-core/src/main/java/androidx/ui/focus/FocusModifierProvider.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/focus/FocusModifierProvider.kt
rename to ui/ui-core/src/main/java/androidx/ui/focus/FocusModifierProvider.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/focus/Focusable.kt b/ui/ui-core/src/main/java/androidx/ui/focus/Focusable.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/focus/Focusable.kt
rename to ui/ui-core/src/main/java/androidx/ui/focus/Focusable.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt b/ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt
rename to ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorAsset.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAssetBuilder.kt b/ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorAssetBuilder.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorAssetBuilder.kt
rename to ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorAssetBuilder.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorCompose.kt b/ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorCompose.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorCompose.kt
rename to ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorCompose.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorPainter.kt b/ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorPainter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/graphics/vector/VectorPainter.kt
rename to ui/ui-core/src/main/java/androidx/ui/graphics/vector/VectorPainter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/AndroidVectorResources.kt b/ui/ui-core/src/main/java/androidx/ui/graphics/vector/compat/AndroidVectorResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/AndroidVectorResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/graphics/vector/compat/AndroidVectorResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt b/ui/ui-core/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
rename to ui/ui-core/src/main/java/androidx/ui/graphics/vector/compat/XmlVectorParser.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/input/InputState.kt b/ui/ui-core/src/main/java/androidx/ui/input/InputState.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/input/InputState.kt
rename to ui/ui-core/src/main/java/androidx/ui/input/InputState.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/input/RecordingInputConnection.kt b/ui/ui-core/src/main/java/androidx/ui/input/RecordingInputConnection.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/input/RecordingInputConnection.kt
rename to ui/ui-core/src/main/java/androidx/ui/input/RecordingInputConnection.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/input/TextInputServiceAndroid.kt b/ui/ui-core/src/main/java/androidx/ui/input/TextInputServiceAndroid.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/input/TextInputServiceAndroid.kt
rename to ui/ui-core/src/main/java/androidx/ui/input/TextInputServiceAndroid.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/node/PointerInteropFilter.kt b/ui/ui-core/src/main/java/androidx/ui/node/PointerInteropFilter.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/node/PointerInteropFilter.kt
rename to ui/ui-core/src/main/java/androidx/ui/node/PointerInteropFilter.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/node/PointerInteropUtils.kt b/ui/ui-core/src/main/java/androidx/ui/node/PointerInteropUtils.kt
similarity index 97%
rename from ui/ui-framework/src/main/java/androidx/ui/node/PointerInteropUtils.kt
rename to ui/ui-core/src/main/java/androidx/ui/node/PointerInteropUtils.kt
index 1719e8d..8c2da8c 100644
--- a/ui/ui-framework/src/main/java/androidx/ui/node/PointerInteropUtils.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/node/PointerInteropUtils.kt
@@ -60,9 +60,9 @@
     val pointerCoords =
         map {
             if (it.changedToUpIgnoreConsumed()) {
-                PointerCoords(it.previous.position!!.x.value, it.previous.position!!.y.value)
+                PointerCoords(it.previous.position!!.x.value, it.previous.position.y.value)
             } else {
-                PointerCoords(it.current.position!!.x.value, it.current.position!!.y.value)
+                PointerCoords(it.current.position!!.x.value, it.current.position.y.value)
             }
         }.toTypedArray()
 
@@ -95,9 +95,9 @@
     val pointerCoords =
         map {
             if (it.changedToUpIgnoreConsumed()) {
-                PointerCoords(it.previous.position!!.x.value, it.previous.position!!.y.value)
+                PointerCoords(it.previous.position!!.x.value, it.previous.position.y.value)
             } else {
-                PointerCoords(it.current.position!!.x.value, it.current.position!!.y.value)
+                PointerCoords(it.current.position!!.x.value, it.current.position.y.value)
             }
         }.toTypedArray()
 
diff --git a/ui/ui-framework/src/main/java/androidx/ui/node/UiComposer.kt b/ui/ui-core/src/main/java/androidx/ui/node/UiComposer.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/node/UiComposer.kt
rename to ui/ui-core/src/main/java/androidx/ui/node/UiComposer.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/node/ViewInterop.kt b/ui/ui-core/src/main/java/androidx/ui/node/ViewInterop.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/node/ViewInterop.kt
rename to ui/ui-core/src/main/java/androidx/ui/node/ViewInterop.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/platform/AndroidUriHandler.kt b/ui/ui-core/src/main/java/androidx/ui/platform/AndroidUriHandler.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/platform/AndroidUriHandler.kt
rename to ui/ui-core/src/main/java/androidx/ui/platform/AndroidUriHandler.kt
diff --git a/ui/ui-platform/src/main/java/androidx/ui/platform/UriHandler.kt b/ui/ui-core/src/main/java/androidx/ui/platform/UriHandler.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/platform/UriHandler.kt
rename to ui/ui-core/src/main/java/androidx/ui/platform/UriHandler.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/ColorResources.kt b/ui/ui-core/src/main/java/androidx/ui/res/ColorResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/ColorResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/ColorResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/FontResources.kt b/ui/ui-core/src/main/java/androidx/ui/res/FontResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/FontResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/FontResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/ImageResources.kt b/ui/ui-core/src/main/java/androidx/ui/res/ImageResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/ImageResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/ImageResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/PrimitiveResources.kt b/ui/ui-core/src/main/java/androidx/ui/res/PrimitiveResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/PrimitiveResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/PrimitiveResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/Resources.kt b/ui/ui-core/src/main/java/androidx/ui/res/Resources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/Resources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/Resources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/StringResources.kt b/ui/ui-core/src/main/java/androidx/ui/res/StringResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/StringResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/StringResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/res/VectorResources.kt b/ui/ui-core/src/main/java/androidx/ui/res/VectorResources.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/res/VectorResources.kt
rename to ui/ui-core/src/main/java/androidx/ui/res/VectorResources.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/semantics/Semantics.kt b/ui/ui-core/src/main/java/androidx/ui/semantics/Semantics.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/semantics/Semantics.kt
rename to ui/ui-core/src/main/java/androidx/ui/semantics/Semantics.kt
diff --git a/ui/ui-core/src/main/java/androidx/ui/semantics/SemanticsProperties.kt b/ui/ui-core/src/main/java/androidx/ui/semantics/SemanticsProperties.kt
index 136eab0..6d4c329 100644
--- a/ui/ui-core/src/main/java/androidx/ui/semantics/SemanticsProperties.kt
+++ b/ui/ui-core/src/main/java/androidx/ui/semantics/SemanticsProperties.kt
@@ -166,3 +166,82 @@
 interface SemanticsPropertyReceiver {
     operator fun <T> set(key: SemanticsPropertyKey<T>, value: T)
 }
+
+var SemanticsPropertyReceiver.accessibilityLabel by SemanticsProperties.AccessibilityLabel
+
+var SemanticsPropertyReceiver.accessibilityValue by SemanticsProperties.AccessibilityValue
+
+var SemanticsPropertyReceiver.accessibilityValueRange
+        by SemanticsProperties.AccessibilityRangeInfo
+
+var SemanticsPropertyReceiver.enabled by SemanticsProperties.Enabled
+
+var SemanticsPropertyReceiver.hidden by SemanticsProperties.Hidden
+
+// var SemanticsPropertyReceiver.textDirection by SemanticsProperties.TextDirection
+
+var SemanticsPropertyReceiver.onClick by SemanticsActions.OnClick
+
+var SemanticsPropertyReceiver.ScrollTo by SemanticsActions.ScrollTo
+
+fun SemanticsPropertyReceiver.onClick(label: String? = null, action: () -> Unit) {
+    this[SemanticsActions.OnClick] = AccessibilityAction(label, action)
+}
+
+fun SemanticsPropertyReceiver.ScrollTo(label: String? = null, action: (x: Px, y: Px) -> Unit) {
+    this[SemanticsActions.ScrollTo] = AccessibilityAction(label, action)
+}
+
+var SemanticsPropertyReceiver.customActions by SemanticsActions.CustomActions
+
+// TODO(b/138172781): Move to FoundationSemanticsProperties.kt
+var SemanticsPropertyReceiver.testTag by SemanticsProperties.TestTag
+
+// TODO(b/138173613): Use this for merging labels
+/*
+
+    /**
+    * U+202A LEFT-TO-RIGHT EMBEDDING
+    *
+    * Treat the following text as embedded left-to-right.
+    *
+    * Use [PDF] to end the embedding.
+    */
+    private const val LRE = "\u202A"
+
+    /**
+     * U+202B RIGHT-TO-LEFT EMBEDDING
+     *
+     * Treat the following text as embedded right-to-left.
+     *
+     * Use [PDF] to end the embedding.
+     */
+    private const val RLE = "\u202B"
+
+    /**
+     * U+202C POP DIRECTIONAL FORMATTING
+     *
+     * End the scope of the last [LRE], [RLE], [RLO], or [LRO].
+     */
+    private const val PDF = "\u202C"
+
+private fun concatStrings(
+    thisString: String?,
+    otherString: String?,
+    thisTextDirection: TextDirection?,
+    otherTextDirection: TextDirection?
+): String? {
+    if (otherString.isNullOrEmpty())
+        return thisString
+    var nestedLabel = otherString
+    if (thisTextDirection != otherTextDirection && otherTextDirection != null) {
+        nestedLabel = when (otherTextDirection) {
+            TextDirection.Rtl -> "${RLE}$nestedLabel${PDF}"
+            TextDirection.Ltr -> "${LRE}$nestedLabel${PDF}"
+        }
+    }
+    if (thisString.isNullOrEmpty())
+        return nestedLabel
+    return "$thisString\n$nestedLabel"
+}
+*/
diff --git a/ui/ui-platform/src/main/java/androidx/ui/temputils/CoroutineUtils.kt b/ui/ui-core/src/main/java/androidx/ui/temputils/CoroutineUtils.kt
similarity index 100%
rename from ui/ui-platform/src/main/java/androidx/ui/temputils/CoroutineUtils.kt
rename to ui/ui-core/src/main/java/androidx/ui/temputils/CoroutineUtils.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/tooling/InspectionMode.kt b/ui/ui-core/src/main/java/androidx/ui/tooling/InspectionMode.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/tooling/InspectionMode.kt
rename to ui/ui-core/src/main/java/androidx/ui/tooling/InspectionMode.kt
diff --git a/ui/ui-framework/src/main/java/androidx/ui/viewinterop/ComposedView.kt b/ui/ui-core/src/main/java/androidx/ui/viewinterop/ComposedView.kt
similarity index 100%
rename from ui/ui-framework/src/main/java/androidx/ui/viewinterop/ComposedView.kt
rename to ui/ui-core/src/main/java/androidx/ui/viewinterop/ComposedView.kt
diff --git a/ui/ui-platform/src/main/res/values/ids.xml b/ui/ui-core/src/main/res/values/ids.xml
similarity index 97%
rename from ui/ui-platform/src/main/res/values/ids.xml
rename to ui/ui-core/src/main/res/values/ids.xml
index 6989455..fbc3744 100644
--- a/ui/ui-platform/src/main/res/values/ids.xml
+++ b/ui/ui-core/src/main/res/values/ids.xml
@@ -49,4 +49,5 @@
     <item name="accessibility_custom_action_29" type="id"/>
     <item name="accessibility_custom_action_30" type="id"/>
     <item name="accessibility_custom_action_31" type="id"/>
+    <item name="wrapped_composition_tag" type="id" />
 </resources>
\ No newline at end of file
diff --git a/ui/ui-platform/src/proguard-rules.pro b/ui/ui-core/src/proguard-rules.pro
similarity index 100%
rename from ui/ui-platform/src/proguard-rules.pro
rename to ui/ui-core/src/proguard-rules.pro
diff --git a/ui/ui-platform/src/test/java/androidx/ui/ComposeUiRobolectricTestRunner.kt b/ui/ui-core/src/test/java/androidx/ui/ComposeUiRobolectricTestRunner.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/ComposeUiRobolectricTestRunner.kt
rename to ui/ui-core/src/test/java/androidx/ui/ComposeUiRobolectricTestRunner.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidAutofillTest.kt b/ui/ui-core/src/test/java/androidx/ui/autofill/AndroidAutofillTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidAutofillTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/autofill/AndroidAutofillTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidAutofillTypeTest.kt b/ui/ui-core/src/test/java/androidx/ui/autofill/AndroidAutofillTypeTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidAutofillTypeTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/autofill/AndroidAutofillTypeTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidPerformAutofillTest.kt b/ui/ui-core/src/test/java/androidx/ui/autofill/AndroidPerformAutofillTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidPerformAutofillTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/autofill/AndroidPerformAutofillTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidPopulateViewStructureTest.kt b/ui/ui-core/src/test/java/androidx/ui/autofill/AndroidPopulateViewStructureTest.kt
similarity index 94%
rename from ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidPopulateViewStructureTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/autofill/AndroidPopulateViewStructureTest.kt
index 0e32f1e..02b230e 100644
--- a/ui/ui-platform/src/test/java/androidx/ui/autofill/AndroidPopulateViewStructureTest.kt
+++ b/ui/ui-core/src/test/java/androidx/ui/autofill/AndroidPopulateViewStructureTest.kt
@@ -37,9 +37,9 @@
     manifest = Config.NONE,
     minSdk = 26)
 class AndroidPopulateViewStructureTest {
-    private val PACKAGE_NAME = "androidx.ui.platform.test"
     private val autofillTree = AutofillTree()
     private lateinit var androidAutofill: AndroidAutofill
+    private lateinit var currentPackage: String
 
     @Before
     fun setup() {
@@ -49,6 +49,7 @@
         activity.setContentView(view)
 
         androidAutofill = AndroidAutofill(view, autofillTree)
+        currentPackage = activity.applicationInfo.packageName
     }
 
     @Test
@@ -81,7 +82,7 @@
         assertThat(viewStructure).isEqualTo(FakeViewStructure().apply {
             children.add(FakeViewStructure().apply {
                 virtualId = autofillNode.id
-                packageName = PACKAGE_NAME
+                packageName = currentPackage
                 setAutofillType(View.AUTOFILL_TYPE_TEXT)
                 setAutofillHints(arrayOf(AUTOFILL_HINT_PERSON_NAME))
                 setDimens(0, 0, 0, 0, 0, 0)
@@ -114,14 +115,14 @@
         assertThat(viewStructure).isEqualTo(FakeViewStructure().apply {
             children.add(FakeViewStructure().apply {
                 virtualId = nameAutofillNode.id
-                packageName = PACKAGE_NAME
+                packageName = currentPackage
                 setAutofillType(View.AUTOFILL_TYPE_TEXT)
                 setAutofillHints(arrayOf(AUTOFILL_HINT_PERSON_NAME))
                 setDimens(0, 0, 0, 0, 0, 0)
             })
             children.add(FakeViewStructure().apply {
                 virtualId = emailAutofillNode.id
-                packageName = PACKAGE_NAME
+                packageName = currentPackage
                 setAutofillType(View.AUTOFILL_TYPE_TEXT)
                 setAutofillHints(arrayOf(View.AUTOFILL_HINT_EMAIL_ADDRESS))
                 setDimens(0, 0, 0, 0, 0, 0)
diff --git a/ui/ui-platform/src/test/java/androidx/ui/core/ComponentNodeTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/ComponentNodeTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/core/ComponentNodeTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/ComponentNodeTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/DoubleTapGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/DoubleTapGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/DoubleTapGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/DoubleTapGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/GestureUtilsTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/GestureUtilsTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/GestureUtilsTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/GestureUtilsTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/LongPressGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/LongPressGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/LongPressGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/LongPressGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/PressIndicatorGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/PressIndicatorGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/PressIndicatorGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/PressIndicatorGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/RawDragGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/RawDragGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/RawDragGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/RawDragGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/RawPressStartGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/RawPressStartGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/RawPressStartGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/RawPressStartGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/RawScaleGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/RawScaleGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/RawScaleGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/RawScaleGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/ScaleSlopExceededGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/ScaleUtilsTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/ScaleUtilsTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/ScaleUtilsTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/ScaleUtilsTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/TapGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/TapGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/TapGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/TapGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilterTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilterTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilterTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/TouchSlopExceededGestureFilterTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/util/PolyFitLeastSquaresTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/util/PolyFitLeastSquaresTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/util/PolyFitLeastSquaresTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/util/PolyFitLeastSquaresTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/gesture/util/VelocityTrackerTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/gesture/util/VelocityTrackerTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/gesture/util/VelocityTrackerTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/gesture/util/VelocityTrackerTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/core/hapticfeedback/HapticFeedbackTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/hapticfeedback/HapticFeedbackTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/core/hapticfeedback/HapticFeedbackTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/hapticfeedback/HapticFeedbackTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/input/FocusManagerTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/input/FocusManagerTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/input/FocusManagerTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/input/FocusManagerTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/core/pointerinput/HitPathTrackerTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/pointerinput/HitPathTrackerTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/core/pointerinput/HitPathTrackerTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/pointerinput/HitPathTrackerTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/core/pointerinput/PointerInputEventProcessorTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/pointerinput/PointerInputEventProcessorTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/core/pointerinput/PointerInputEventProcessorTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/pointerinput/PointerInputEventProcessorTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/core/pointerinput/TestUtils.kt b/ui/ui-core/src/test/java/androidx/ui/core/pointerinput/TestUtils.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/core/pointerinput/TestUtils.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/pointerinput/TestUtils.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionManagerDragTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionManagerDragTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionManagerDragTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionManagerDragTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionManagerLongPressDragTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionManagerTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionManagerTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionManagerTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionManagerTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionRegistrarImplTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionRegistrarImplTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionRegistrarImplTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionRegistrarImplTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionTest.kt b/ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/core/selection/SelectionTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/core/selection/SelectionTest.kt
diff --git a/ui/ui-framework/src/test/java/androidx/ui/graphics/vector/VectorAssetBuilderTest.kt b/ui/ui-core/src/test/java/androidx/ui/graphics/vector/VectorAssetBuilderTest.kt
similarity index 100%
rename from ui/ui-framework/src/test/java/androidx/ui/graphics/vector/VectorAssetBuilderTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/graphics/vector/VectorAssetBuilderTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/input/RecordingInputConnectionUpdateEditorValueTest.kt b/ui/ui-core/src/test/java/androidx/ui/input/RecordingInputConnectionUpdateEditorValueTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/input/RecordingInputConnectionUpdateEditorValueTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/input/RecordingInputConnectionUpdateEditorValueTest.kt
diff --git a/ui/ui-platform/src/test/java/androidx/ui/input/TextInputServiceAndroidTest.kt b/ui/ui-core/src/test/java/androidx/ui/input/TextInputServiceAndroidTest.kt
similarity index 100%
rename from ui/ui-platform/src/test/java/androidx/ui/input/TextInputServiceAndroidTest.kt
rename to ui/ui-core/src/test/java/androidx/ui/input/TextInputServiceAndroidTest.kt
diff --git a/ui/ui-framework/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker b/ui/ui-core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
similarity index 100%
rename from ui/ui-framework/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
rename to ui/ui-core/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
diff --git a/ui/ui-foundation/api/0.1.0-dev11.txt b/ui/ui-foundation/api/0.1.0-dev11.txt
index df6026a..ab4cc94 100644
--- a/ui/ui-foundation/api/0.1.0-dev11.txt
+++ b/ui/ui-foundation/api/0.1.0-dev11.txt
@@ -131,24 +131,33 @@
     property public final boolean isAnimating;
     property public final float maxPosition;
     property public final float value;
+    field public static final androidx.ui.foundation.ScrollerPosition.Companion! Companion;
+  }
+
+  public static final class ScrollerPosition.Companion {
+    method public androidx.ui.savedinstancestate.Saver<androidx.ui.foundation.ScrollerPosition,?> Saver(androidx.ui.foundation.animation.FlingConfig flingConfig, androidx.animation.AnimationClockObservable animationClock);
   }
 
   public final class Strings {
     method public String getChecked();
+    method public String getInProgress();
     method public String getIndeterminate();
     method public String getNotSelected();
     method public String getSelected();
+    method public String getTemplatePercent();
     method public String getUnchecked();
     property public final String Checked;
+    property public final String InProgress;
     property public final String Indeterminate;
     property public final String NotSelected;
     property public final String Selected;
+    property public final String TemplatePercent;
     property public final String Unchecked;
     field public static final androidx.ui.foundation.Strings! INSTANCE;
   }
 
   public final class TextFieldKt {
-    method public static void TextField-uYo7hsE(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
+    method public static void TextField-DBcCkQs(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
   }
 
   public final class TextFieldValue {
diff --git a/ui/ui-foundation/api/current.txt b/ui/ui-foundation/api/current.txt
index df6026a..ab4cc94 100644
--- a/ui/ui-foundation/api/current.txt
+++ b/ui/ui-foundation/api/current.txt
@@ -131,24 +131,33 @@
     property public final boolean isAnimating;
     property public final float maxPosition;
     property public final float value;
+    field public static final androidx.ui.foundation.ScrollerPosition.Companion! Companion;
+  }
+
+  public static final class ScrollerPosition.Companion {
+    method public androidx.ui.savedinstancestate.Saver<androidx.ui.foundation.ScrollerPosition,?> Saver(androidx.ui.foundation.animation.FlingConfig flingConfig, androidx.animation.AnimationClockObservable animationClock);
   }
 
   public final class Strings {
     method public String getChecked();
+    method public String getInProgress();
     method public String getIndeterminate();
     method public String getNotSelected();
     method public String getSelected();
+    method public String getTemplatePercent();
     method public String getUnchecked();
     property public final String Checked;
+    property public final String InProgress;
     property public final String Indeterminate;
     property public final String NotSelected;
     property public final String Selected;
+    property public final String TemplatePercent;
     property public final String Unchecked;
     field public static final androidx.ui.foundation.Strings! INSTANCE;
   }
 
   public final class TextFieldKt {
-    method public static void TextField-uYo7hsE(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
+    method public static void TextField-DBcCkQs(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
   }
 
   public final class TextFieldValue {
diff --git a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev11.txt
index df6026a..ab4cc94 100644
--- a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev11.txt
@@ -131,24 +131,33 @@
     property public final boolean isAnimating;
     property public final float maxPosition;
     property public final float value;
+    field public static final androidx.ui.foundation.ScrollerPosition.Companion! Companion;
+  }
+
+  public static final class ScrollerPosition.Companion {
+    method public androidx.ui.savedinstancestate.Saver<androidx.ui.foundation.ScrollerPosition,?> Saver(androidx.ui.foundation.animation.FlingConfig flingConfig, androidx.animation.AnimationClockObservable animationClock);
   }
 
   public final class Strings {
     method public String getChecked();
+    method public String getInProgress();
     method public String getIndeterminate();
     method public String getNotSelected();
     method public String getSelected();
+    method public String getTemplatePercent();
     method public String getUnchecked();
     property public final String Checked;
+    property public final String InProgress;
     property public final String Indeterminate;
     property public final String NotSelected;
     property public final String Selected;
+    property public final String TemplatePercent;
     property public final String Unchecked;
     field public static final androidx.ui.foundation.Strings! INSTANCE;
   }
 
   public final class TextFieldKt {
-    method public static void TextField-uYo7hsE(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
+    method public static void TextField-DBcCkQs(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
   }
 
   public final class TextFieldValue {
diff --git a/ui/ui-foundation/api/public_plus_experimental_current.txt b/ui/ui-foundation/api/public_plus_experimental_current.txt
index df6026a..ab4cc94 100644
--- a/ui/ui-foundation/api/public_plus_experimental_current.txt
+++ b/ui/ui-foundation/api/public_plus_experimental_current.txt
@@ -131,24 +131,33 @@
     property public final boolean isAnimating;
     property public final float maxPosition;
     property public final float value;
+    field public static final androidx.ui.foundation.ScrollerPosition.Companion! Companion;
+  }
+
+  public static final class ScrollerPosition.Companion {
+    method public androidx.ui.savedinstancestate.Saver<androidx.ui.foundation.ScrollerPosition,?> Saver(androidx.ui.foundation.animation.FlingConfig flingConfig, androidx.animation.AnimationClockObservable animationClock);
   }
 
   public final class Strings {
     method public String getChecked();
+    method public String getInProgress();
     method public String getIndeterminate();
     method public String getNotSelected();
     method public String getSelected();
+    method public String getTemplatePercent();
     method public String getUnchecked();
     property public final String Checked;
+    property public final String InProgress;
     property public final String Indeterminate;
     property public final String NotSelected;
     property public final String Selected;
+    property public final String TemplatePercent;
     property public final String Unchecked;
     field public static final androidx.ui.foundation.Strings! INSTANCE;
   }
 
   public final class TextFieldKt {
-    method public static void TextField-uYo7hsE(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
+    method public static void TextField-DBcCkQs(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
   }
 
   public final class TextFieldValue {
diff --git a/ui/ui-foundation/api/restricted_0.1.0-dev11.txt b/ui/ui-foundation/api/restricted_0.1.0-dev11.txt
index df6026a..ab4cc94 100644
--- a/ui/ui-foundation/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-foundation/api/restricted_0.1.0-dev11.txt
@@ -131,24 +131,33 @@
     property public final boolean isAnimating;
     property public final float maxPosition;
     property public final float value;
+    field public static final androidx.ui.foundation.ScrollerPosition.Companion! Companion;
+  }
+
+  public static final class ScrollerPosition.Companion {
+    method public androidx.ui.savedinstancestate.Saver<androidx.ui.foundation.ScrollerPosition,?> Saver(androidx.ui.foundation.animation.FlingConfig flingConfig, androidx.animation.AnimationClockObservable animationClock);
   }
 
   public final class Strings {
     method public String getChecked();
+    method public String getInProgress();
     method public String getIndeterminate();
     method public String getNotSelected();
     method public String getSelected();
+    method public String getTemplatePercent();
     method public String getUnchecked();
     property public final String Checked;
+    property public final String InProgress;
     property public final String Indeterminate;
     property public final String NotSelected;
     property public final String Selected;
+    property public final String TemplatePercent;
     property public final String Unchecked;
     field public static final androidx.ui.foundation.Strings! INSTANCE;
   }
 
   public final class TextFieldKt {
-    method public static void TextField-uYo7hsE(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
+    method public static void TextField-DBcCkQs(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
   }
 
   public final class TextFieldValue {
diff --git a/ui/ui-foundation/api/restricted_current.txt b/ui/ui-foundation/api/restricted_current.txt
index df6026a..ab4cc94 100644
--- a/ui/ui-foundation/api/restricted_current.txt
+++ b/ui/ui-foundation/api/restricted_current.txt
@@ -131,24 +131,33 @@
     property public final boolean isAnimating;
     property public final float maxPosition;
     property public final float value;
+    field public static final androidx.ui.foundation.ScrollerPosition.Companion! Companion;
+  }
+
+  public static final class ScrollerPosition.Companion {
+    method public androidx.ui.savedinstancestate.Saver<androidx.ui.foundation.ScrollerPosition,?> Saver(androidx.ui.foundation.animation.FlingConfig flingConfig, androidx.animation.AnimationClockObservable animationClock);
   }
 
   public final class Strings {
     method public String getChecked();
+    method public String getInProgress();
     method public String getIndeterminate();
     method public String getNotSelected();
     method public String getSelected();
+    method public String getTemplatePercent();
     method public String getUnchecked();
     property public final String Checked;
+    property public final String InProgress;
     property public final String Indeterminate;
     property public final String NotSelected;
     property public final String Selected;
+    property public final String TemplatePercent;
     property public final String Unchecked;
     field public static final androidx.ui.foundation.Strings! INSTANCE;
   }
 
   public final class TextFieldKt {
-    method public static void TextField-uYo7hsE(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
+    method public static void TextField-DBcCkQs(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, androidx.ui.core.Modifier modifier = Modifier, long textColor = Color.Unset, androidx.ui.text.TextStyle textStyle = currentTextStyle(), androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {}, long cursorColor = contentColor());
   }
 
   public final class TextFieldValue {
diff --git a/ui/ui-foundation/build.gradle b/ui/ui-foundation/build.gradle
index f32ceb8..bb20d33 100644
--- a/ui/ui-foundation/build.gradle
+++ b/ui/ui-foundation/build.gradle
@@ -38,10 +38,8 @@
     api project(":compose:compose-runtime")
     api project(":ui:ui-core")
     api project(":ui:ui-animation")
-    api project(":ui:ui-saved-instance-state")
-    implementation project(':ui:ui-framework')
     implementation project(':ui:ui-layout')
-    implementation project(':ui:ui-platform')
+    api project(":ui:ui-saved-instance-state")
     implementation project(':ui:ui-text-core')
     implementation project(':ui:ui-text')
 
diff --git a/ui/ui-foundation/integration-tests/foundation-demos/build.gradle b/ui/ui-foundation/integration-tests/foundation-demos/build.gradle
index 7c464a7..eb3f511 100644
--- a/ui/ui-foundation/integration-tests/foundation-demos/build.gradle
+++ b/ui/ui-foundation/integration-tests/foundation-demos/build.gradle
@@ -37,7 +37,6 @@
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-foundation:samples")
diff --git a/ui/ui-foundation/samples/build.gradle b/ui/ui-foundation/samples/build.gradle
index b41c8cf..87cf549 100644
--- a/ui/ui-foundation/samples/build.gradle
+++ b/ui/ui-foundation/samples/build.gradle
@@ -36,7 +36,6 @@
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-text-core")
 }
diff --git a/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/DeterminateProgressTest.kt b/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/DeterminateProgressTest.kt
index d5b419f..59b3a0a 100644
--- a/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/DeterminateProgressTest.kt
+++ b/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/DeterminateProgressTest.kt
@@ -22,6 +22,8 @@
 import androidx.ui.core.TestTag
 import androidx.ui.graphics.Color
 import androidx.ui.layout.preferredSize
+import androidx.ui.semantics.AccessibilityRangeInfo
+import androidx.ui.test.assertRangeInfoEquals
 import androidx.ui.test.assertValueEquals
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.findByTag
@@ -59,13 +61,15 @@
             }
 
         findByTag(tag)
-            .assertValueEquals("0.0")
+            .assertValueEquals("0 percent")
+            .assertRangeInfoEquals(AccessibilityRangeInfo(0f, 0f..1f))
 
         runOnUiThread {
             state.progress = 0.5f
         }
 
         findByTag(tag)
-            .assertValueEquals("0.5")
+            .assertValueEquals("50 percent")
+            .assertRangeInfoEquals(AccessibilityRangeInfo(0.5f, 0f..1f))
     }
 }
\ No newline at end of file
diff --git a/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/ScrollerTest.kt b/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/ScrollerTest.kt
index f94b5b0..77bd57f 100644
--- a/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/ScrollerTest.kt
+++ b/ui/ui-foundation/src/androidTest/java/androidx/ui/foundation/ScrollerTest.kt
@@ -31,10 +31,12 @@
 import androidx.ui.layout.Column
 import androidx.ui.layout.Row
 import androidx.ui.layout.Stack
+import androidx.ui.layout.preferredHeight
 import androidx.ui.layout.preferredSize
 import androidx.ui.semantics.Semantics
 import androidx.ui.test.GestureScope
 import androidx.ui.test.SemanticsNodeInteraction
+import androidx.ui.test.StateRestorationTester
 import androidx.ui.test.assertIsDisplayed
 import androidx.ui.test.assertIsNotDisplayed
 import androidx.ui.test.assertPixels
@@ -409,6 +411,34 @@
         }
     }
 
+    @Test
+    fun scroller_restoresScrollerPosition() {
+        val restorationTester = StateRestorationTester(composeTestRule)
+        var scrollerPosition: ScrollerPosition? = null
+
+        restorationTester.setContent {
+            scrollerPosition = ScrollerPosition()
+            VerticalScroller(scrollerPosition!!) {
+                Column {
+                    repeat(50) {
+                        Box(Modifier.preferredHeight(100.dp))
+                    }
+                }
+            }
+        }
+
+        runOnIdleCompose {
+            scrollerPosition!!.scrollTo(70f)
+            scrollerPosition = null
+        }
+
+        restorationTester.emulateSavedInstanceStateRestore()
+
+        runOnIdleCompose {
+            assertThat(scrollerPosition!!.value).isEqualTo(70f)
+        }
+    }
+
     private fun performWithAnimationWaitAndAssertPosition(
         assertValue: Float,
         scrollerPosition: ScrollerPosition,
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/DeterminateProgressIndicator.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/DeterminateProgressIndicator.kt
index 84a79ef..a4744cd 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/DeterminateProgressIndicator.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/DeterminateProgressIndicator.kt
@@ -19,7 +19,10 @@
 import androidx.annotation.FloatRange
 import androidx.ui.semantics.Semantics
 import androidx.compose.Composable
+import androidx.ui.semantics.AccessibilityRangeInfo
 import androidx.ui.semantics.accessibilityValue
+import androidx.ui.semantics.accessibilityValueRange
+import kotlin.math.roundToInt
 
 /**
  * Contains the [Semantics] required for a determinate progress indicator, that represents progress
@@ -40,9 +43,17 @@
     if (progress !in 0f..1f) {
         throw IllegalArgumentException("Progress must be between 0.0 and 1.0")
     }
-    Semantics(
-        container = true,
-        properties = { accessibilityValue = "$progress" },
-        children = children
-    )
+    Semantics(container = true, properties = {
+        var percent: Int
+        // We only report 0% or 100% when it is exactly 0% or 100%.
+        if (progress > 0 && progress < 0.01) {
+            percent = 1
+        } else if (progress > 0.99 && progress < 1) {
+            percent = 99
+        } else {
+            percent = (progress * 100).roundToInt()
+        }
+        accessibilityValue = Strings.TemplatePercent.format(percent)
+        accessibilityValueRange = AccessibilityRangeInfo(progress, 0f..1f)
+    }, children = children)
 }
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
index 702a20d..0195d6c 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/Scroller.kt
@@ -30,11 +30,14 @@
 import androidx.ui.core.Layout
 import androidx.ui.core.Modifier
 import androidx.ui.core.clipToBounds
+import androidx.ui.foundation.TextFieldValue.Companion.Saver
 import androidx.ui.foundation.animation.FlingConfig
 import androidx.ui.foundation.gestures.DragDirection
 import androidx.ui.foundation.gestures.ScrollableState
 import androidx.ui.foundation.gestures.scrollable
 import androidx.ui.layout.Constraints
+import androidx.ui.savedinstancestate.Saver
+import androidx.ui.savedinstancestate.rememberSavedInstanceState
 import androidx.ui.semantics.ScrollTo
 import androidx.ui.semantics.Semantics
 import androidx.ui.unit.IntPx
@@ -56,7 +59,10 @@
 ): ScrollerPosition {
     val clock = AnimationClockAmbient.current
     val config = FlingConfig()
-    return remember(clock, config) {
+    return rememberSavedInstanceState(
+        clock, config,
+        saver = ScrollerPosition.Saver(config, clock)
+    ) {
         ScrollerPosition(flingConfig = config, initial = initial, animationClock = clock)
     }
 }
@@ -164,6 +170,20 @@
             value = newMax
         }
     }
+
+    companion object {
+        /**
+         * The default [Saver] implementation for [ScrollerPosition].
+         */
+        @Composable
+        fun Saver(
+            flingConfig: FlingConfig,
+            animationClock: AnimationClockObservable
+        ): Saver<ScrollerPosition, *> = Saver<ScrollerPosition, Float>(
+            save = { it.value },
+            restore = { ScrollerPosition(flingConfig, it, animationClock) }
+        )
+    }
 }
 
 // TODO(malkov): Test behavior during animation more extensively (including pressing on the scroller
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/Strings.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/Strings.kt
index b9d0281..9aced57 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/Strings.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/Strings.kt
@@ -25,4 +25,6 @@
     val Indeterminate = "Indeterminate"
     val Selected = "Selected"
     val NotSelected = "Not selected"
+    val InProgress = "In progress"
+    val TemplatePercent = "%d percent"
 }
\ No newline at end of file
diff --git a/ui/ui-foundation/src/main/java/androidx/ui/foundation/TextField.kt b/ui/ui-foundation/src/main/java/androidx/ui/foundation/TextField.kt
index 53e7d50..9a3a695 100644
--- a/ui/ui-foundation/src/main/java/androidx/ui/foundation/TextField.kt
+++ b/ui/ui-foundation/src/main/java/androidx/ui/foundation/TextField.kt
@@ -40,6 +40,7 @@
 import androidx.ui.savedinstancestate.Saver
 import androidx.ui.savedinstancestate.listSaver
 import androidx.ui.text.CoreTextField
+import androidx.ui.text.AnnotatedString
 import androidx.ui.text.SoftwareKeyboardController
 import androidx.ui.text.TextFieldDelegate
 import androidx.ui.text.TextLayoutResult
@@ -120,7 +121,8 @@
  * @param onImeActionPerformed Called when the input service requested an IME action. When the
  * input service emitted an IME action, this callback is called with the emitted IME action. Note
  * that this IME action may be different from what you specified in [imeAction].
- * @param visualTransformation Optional visual filter for changing visual output of input field.
+ * @param visualTransformation The visual transformation filter for changing the visual
+ * representation of the input. By default no visual transformation is applied.
  * @param onTextLayout Callback that is executed when a new text layout is calculated.
  * @param onTextInputStarted Callback that is executed when the initialization has done for
  * communicating with platform text input service, e.g. software keyboard on Android. Called with
@@ -144,7 +146,7 @@
     imeAction: ImeAction = ImeAction.Unspecified,
     onFocusChange: (Boolean) -> Unit = {},
     onImeActionPerformed: (ImeAction) -> Unit = {},
-    visualTransformation: VisualTransformation? = null,
+    visualTransformation: VisualTransformation = VisualTransformation.None,
     onTextLayout: (TextLayoutResult) -> Unit = {},
     onTextInputStarted: (SoftwareKeyboardController) -> Unit = {},
     cursorColor: Color = contentColor()
@@ -165,8 +167,7 @@
     val mergedStyle = textStyle.merge(TextStyle(color = color))
 
     val transformedText: TransformedText = remember(fullModel.value, visualTransformation) {
-        val transformed =
-            TextFieldDelegate.applyVisualFilter(fullModel.value, visualTransformation)
+        val transformed = visualTransformation.filter(AnnotatedString(fullModel.value.text))
         fullModel.value.composition?.let {
             TextFieldDelegate.applyCompositionDecoration(it, transformed)
         } ?: transformed
diff --git a/ui/ui-framework/OWNERS b/ui/ui-framework/OWNERS
deleted file mode 100644
index fd8f9ec..0000000
--- a/ui/ui-framework/OWNERS
+++ /dev/null
@@ -1,22 +0,0 @@
-adamp@google.com
-mount@google.com
-andreykulikov@google.com
-
-# Semantics
-ryanmentley@google.com
-ralu@google.com
-
-# Layout
-popam@google.com
-
-# Input & gestures
-shepshapard@google.com
-
-# Graphics
-njawad@google.com
-
-# Text
-haoyuchang@google.com
-nona@google.com
-siyamed@google.com
-qqd@google.com
diff --git a/ui/ui-framework/api/0.1.0-dev01.txt b/ui/ui-framework/api/0.1.0-dev01.txt
deleted file mode 100644
index 814fbde..0000000
--- a/ui/ui-framework/api/0.1.0-dev01.txt
+++ /dev/null
@@ -1,512 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, String? text = null, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @CheckResult(suggest="+") public static <R> androidx.compose.Effect<R> withDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,? extends R> block);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.core.PxPosition component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.text.style.TextDirection component5();
-    method public androidx.ui.text.style.TextDirection component6();
-    method public androidx.ui.core.LayoutCoordinates? component7();
-    method public androidx.ui.core.LayoutCoordinates? component8();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition getEndCoordinates();
-    method public androidx.ui.text.style.TextDirection getEndDirection();
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public int getEndOffset();
-    method public androidx.ui.core.PxPosition getStartCoordinates();
-    method public androidx.ui.text.style.TextDirection getStartDirection();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public int getStartOffset();
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManager implements androidx.ui.core.selection.SelectionRegistrar {
-    ctor public SelectionManager();
-    method public androidx.ui.core.PxPosition getAdjustedCoordinates(androidx.ui.core.PxPosition p);
-    method public androidx.ui.core.LayoutCoordinates getContainerLayoutCoordinates();
-    method public androidx.ui.core.selection.SelectionMode getMode();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> getOnSelectionChange();
-    method public androidx.ui.core.selection.Selection? getSelection();
-    method public androidx.ui.core.gesture.DragObserver handleDragObserver(boolean dragStartHandle);
-    method public void onPress(androidx.ui.core.PxPosition position);
-    method public void setContainerLayoutCoordinates(androidx.ui.core.LayoutCoordinates p);
-    method public void setMode(androidx.ui.core.selection.SelectionMode p);
-    method public void setOnSelectionChange(kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> p);
-    method public void setSelection(androidx.ui.core.selection.Selection? p);
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-    property public final androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-    property public final androidx.ui.core.selection.SelectionMode mode;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange;
-    property public final androidx.ui.core.selection.Selection? selection;
-    field public androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-  public interface SelectionRegistrar {
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-  }
-
-  public interface TextSelectionHandler {
-    method public androidx.ui.core.selection.Selection? getSelection(kotlin.Pair<androidx.ui.core.PxPosition,androidx.ui.core.PxPosition> selectionCoordinates, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, androidx.ui.core.selection.SelectionMode mode);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, androidx.ui.graphics.vector.PathNode![] clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public androidx.ui.graphics.vector.PathNode![] getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, androidx.ui.graphics.vector.PathNode![] pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public androidx.ui.graphics.vector.PathNode![] getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class DeferredResource<T> {
-    ctor public DeferredResource();
-    method public T? getResource();
-    method public void setResource$lintWithKotlin(T? p);
-    property public final T? resource;
-  }
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-  }
-
-  public final class ResourcesKt {
-    ctor public ResourcesKt();
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int resId);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev02.txt b/ui/ui-framework/api/0.1.0-dev02.txt
deleted file mode 100644
index 15b00a2..0000000
--- a/ui/ui-framework/api/0.1.0-dev02.txt
+++ /dev/null
@@ -1,509 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    ctor public PasswordTextFieldKt();
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, String? text = null, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    ctor public GestureUtilsKt();
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.core.PxPosition component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.text.style.TextDirection component5();
-    method public androidx.ui.text.style.TextDirection component6();
-    method public androidx.ui.core.LayoutCoordinates? component7();
-    method public androidx.ui.core.LayoutCoordinates? component8();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition getEndCoordinates();
-    method public androidx.ui.text.style.TextDirection getEndDirection();
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public int getEndOffset();
-    method public androidx.ui.core.PxPosition getStartCoordinates();
-    method public androidx.ui.text.style.TextDirection getStartDirection();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public int getStartOffset();
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManager implements androidx.ui.core.selection.SelectionRegistrar {
-    ctor public SelectionManager();
-    method public androidx.ui.core.PxPosition getAdjustedCoordinates(androidx.ui.core.PxPosition p);
-    method public androidx.ui.core.LayoutCoordinates getContainerLayoutCoordinates();
-    method public androidx.ui.core.selection.SelectionMode getMode();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> getOnSelectionChange();
-    method public androidx.ui.core.selection.Selection? getSelection();
-    method public androidx.ui.core.gesture.DragObserver handleDragObserver(boolean dragStartHandle);
-    method public void onPress(androidx.ui.core.PxPosition position);
-    method public void setContainerLayoutCoordinates(androidx.ui.core.LayoutCoordinates p);
-    method public void setMode(androidx.ui.core.selection.SelectionMode p);
-    method public void setOnSelectionChange(kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> p);
-    method public void setSelection(androidx.ui.core.selection.Selection? p);
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-    property public final androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-    property public final androidx.ui.core.selection.SelectionMode mode;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange;
-    property public final androidx.ui.core.selection.Selection? selection;
-    field public androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-  public interface SelectionRegistrar {
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-  }
-
-  public interface TextSelectionHandler {
-    method public androidx.ui.core.selection.Selection? getSelection(kotlin.Pair<androidx.ui.core.PxPosition,androidx.ui.core.PxPosition> selectionCoordinates, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, androidx.ui.core.selection.SelectionMode mode);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, androidx.ui.graphics.vector.PathNode![] clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public androidx.ui.graphics.vector.PathNode![] getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, androidx.ui.graphics.vector.PathNode![] pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public androidx.ui.graphics.vector.PathNode![] getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int resId);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev03.txt b/ui/ui-framework/api/0.1.0-dev03.txt
deleted file mode 100644
index a2b3818..0000000
--- a/ui/ui-framework/api/0.1.0-dev03.txt
+++ /dev/null
@@ -1,625 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    ctor public PasswordTextFieldKt();
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler = {}, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    ctor public PopupKt();
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    ctor public RawScaleGestureDetectorKt();
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    ctor public ScaleGestureDetectorKt();
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    ctor public ScaleSlopExceededGestureDetectorKt();
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-    ctor public ScaleUtilKt();
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    ctor public GestureUtilsKt();
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Uptime uptime, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.core.PxPosition startPosition, androidx.ui.core.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.core.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    ctor public SelectionContainerKt();
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-    ctor public SelectionHandlesKt();
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-  }
-
-  public interface SelectionRegistrar {
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    ctor public SelectionRegistrarKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-    ctor public TextSelectionDelegateKt();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    ctor public FocusableKt();
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = +memo({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    ctor public ColorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Color> colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.Image>> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    ctor public PrimitiveResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Boolean> booleanResource(@BoolRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Dp> dimensionResource(@DimenRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<int[]> integerArrayResource(@ArrayRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Integer> integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-    ctor public ResourcesKt();
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String[]> stringArrayResource(@ArrayRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.Px,? super androidx.ui.core.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev04.txt b/ui/ui-framework/api/0.1.0-dev04.txt
deleted file mode 100644
index 10f5f62..0000000
--- a/ui/ui-framework/api/0.1.0-dev04.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.DensityScope, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier toModifier(androidx.ui.graphics.painter.Painter, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.unit.DensityScope,kotlin.Unit> block);
-    method public static inline androidx.ui.unit.Density ambientDensity();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedBack> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public float component6();
-    method public float component7();
-    method public float component8();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
-    method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.Image imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.Image> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev05.txt b/ui/ui-framework/api/0.1.0-dev05.txt
deleted file mode 100644
index 80001c22c..0000000
--- a/ui/ui-framework/api/0.1.0-dev05.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier toModifier(androidx.ui.graphics.painter.Painter, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.Image imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.Image> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev06.txt b/ui/ui-framework/api/0.1.0-dev06.txt
deleted file mode 100644
index ec30f25..0000000
--- a/ui/ui-framework/api/0.1.0-dev06.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.PlatformHandler> getPlatformHandlerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev07.txt b/ui/ui-framework/api/0.1.0-dev07.txt
deleted file mode 100644
index 36fe8fb..0000000
--- a/ui/ui-framework/api/0.1.0-dev07.txt
+++ /dev/null
@@ -1,622 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class Compose {
-    method @Deprecated @MainThread public androidx.compose.Composition composeInto(android.view.ViewGroup container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public androidx.compose.Composition composeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public void disposeComposition(android.view.ViewGroup container, androidx.compose.CompositionReference? parent = null);
-    method @Deprecated @MainThread public void disposeComposition(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null);
-    field public static final androidx.compose.Compose! INSTANCE;
-  }
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class CoreTextKt {
-    method public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-  }
-
-  public final class WrapperKt {
-    method @Deprecated public static void disposeComposition(android.view.ViewGroup);
-    method @Deprecated public static void disposeComposition(android.app.Activity);
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.Owner> getOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static androidx.ui.core.Modifier PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawPressStartStartGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TapGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onTap = null, boolean enabled = true);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev08.txt b/ui/ui-framework/api/0.1.0-dev08.txt
deleted file mode 100644
index a63d41c..0000000
--- a/ui/ui-framework/api/0.1.0-dev08.txt
+++ /dev/null
@@ -1,628 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.InputState value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.InputState,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-  }
-
-  public final class CoreTextKt {
-    method public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.Owner> getOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static androidx.ui.core.Modifier PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawPressStartStartGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TapGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusManager.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusManager.FocusNode node);
-    method public void requestFocus(androidx.ui.core.input.FocusManager.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public static interface FocusManager.FocusNode {
-    method public void onBlur(boolean hasNextClient);
-    method public void onFocus();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.core.Modifier, androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev09.txt b/ui/ui-framework/api/0.1.0-dev09.txt
deleted file mode 100644
index 35b5c3b3..0000000
--- a/ui/ui-framework/api/0.1.0-dev09.txt
+++ /dev/null
@@ -1,629 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusNode node);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.core.Modifier, androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev10.txt b/ui/ui-framework/api/0.1.0-dev10.txt
deleted file mode 100644
index b00578c..0000000
--- a/ui/ui-framework/api/0.1.0-dev10.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.unit.Dp elevation, androidx.ui.graphics.Shape shape = RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusNode node);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-  }
-
-}
-
diff --git a/ui/ui-framework/api/0.1.0-dev11.txt b/ui/ui-framework/api/0.1.0-dev11.txt
deleted file mode 100644
index c80797d..0000000
--- a/ui/ui-framework/api/0.1.0-dev11.txt
+++ /dev/null
@@ -1,589 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static float getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static float getDoubleTapTouchSlop();
-    method public static float getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static float getMaxFlingVelocity();
-    method public static float getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static float getScaleSlop();
-    method public static float getTouchSlop();
-    method public static float getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  @Deprecated public final class FocusOperator {
-    ctor @Deprecated public FocusOperator();
-  }
-
-  public final class FocusableKt {
-    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class PointerInteropFilterKt {
-  }
-
-  public final class PointerInteropUtilsKt {
-  }
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static float dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-    method public static void AndroidView(android.view.View view);
-  }
-
-}
-
diff --git a/ui/ui-framework/api/api_lint.ignore b/ui/ui-framework/api/api_lint.ignore
deleted file mode 100644
index ed3f664..0000000
--- a/ui/ui-framework/api/api_lint.ignore
+++ /dev/null
@@ -1,23 +0,0 @@
-// Baseline format: 1.0
-AcronymName: androidx.ui.core.DrawShadowKt#drawShadow-xWKVMPI(androidx.ui.core.Modifier, float, androidx.ui.graphics.Shape, boolean, float):
-    Acronyms should not be capitalized in method names: was `drawShadow-xWKVMPI`, should this be `drawShadow-xWkvmpi`?
-AcronymName: androidx.ui.graphics.vector.VectorComposeKt#drawVector-DGWccOo(androidx.ui.core.Modifier, float, float, float, float, long, androidx.ui.graphics.BlendMode, androidx.ui.core.Alignment, androidx.ui.core.ContentScale, String, kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>):
-    Acronyms should not be capitalized in method names: was `drawVector-DGWccOo`, should this be `drawVector-DgWccOo`?
-
-
-CallbackName: androidx.ui.core.gesture.DragObserver:
-    Class should be named DragCallback
-CallbackName: androidx.ui.core.gesture.LongPressDragObserver:
-    Class should be named LongPressDragCallback
-CallbackName: androidx.ui.core.gesture.RawScaleObserver:
-    Class should be named RawScaleCallback
-CallbackName: androidx.ui.core.gesture.ScaleObserver:
-    Class should be named ScaleCallback
-
-
-ContextFirst: androidx.ui.core.WrapperKt#subcomposeInto(androidx.ui.core.ComponentNode, android.content.Context, androidx.compose.CompositionReference, kotlin.jvm.functions.Function0<kotlin.Unit>) parameter #1:
-    Context is distinct, so it must be the first argument (method `subcomposeInto`)
-
-
-TopLevelBuilder: androidx.ui.graphics.vector.VectorAssetBuilder:
-    Builder should be defined as inner class: androidx.ui.graphics.vector.VectorAssetBuilder
diff --git a/ui/ui-framework/api/current.txt b/ui/ui-framework/api/current.txt
deleted file mode 100644
index c80797d..0000000
--- a/ui/ui-framework/api/current.txt
+++ /dev/null
@@ -1,589 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static float getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static float getDoubleTapTouchSlop();
-    method public static float getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static float getMaxFlingVelocity();
-    method public static float getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static float getScaleSlop();
-    method public static float getTouchSlop();
-    method public static float getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  @Deprecated public final class FocusOperator {
-    ctor @Deprecated public FocusOperator();
-  }
-
-  public final class FocusableKt {
-    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class PointerInteropFilterKt {
-  }
-
-  public final class PointerInteropUtilsKt {
-  }
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static float dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-    method public static void AndroidView(android.view.View view);
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev01.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev01.txt
deleted file mode 100644
index 814fbde..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev01.txt
+++ /dev/null
@@ -1,512 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, String? text = null, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @CheckResult(suggest="+") public static <R> androidx.compose.Effect<R> withDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,? extends R> block);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.core.PxPosition component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.text.style.TextDirection component5();
-    method public androidx.ui.text.style.TextDirection component6();
-    method public androidx.ui.core.LayoutCoordinates? component7();
-    method public androidx.ui.core.LayoutCoordinates? component8();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition getEndCoordinates();
-    method public androidx.ui.text.style.TextDirection getEndDirection();
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public int getEndOffset();
-    method public androidx.ui.core.PxPosition getStartCoordinates();
-    method public androidx.ui.text.style.TextDirection getStartDirection();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public int getStartOffset();
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManager implements androidx.ui.core.selection.SelectionRegistrar {
-    ctor public SelectionManager();
-    method public androidx.ui.core.PxPosition getAdjustedCoordinates(androidx.ui.core.PxPosition p);
-    method public androidx.ui.core.LayoutCoordinates getContainerLayoutCoordinates();
-    method public androidx.ui.core.selection.SelectionMode getMode();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> getOnSelectionChange();
-    method public androidx.ui.core.selection.Selection? getSelection();
-    method public androidx.ui.core.gesture.DragObserver handleDragObserver(boolean dragStartHandle);
-    method public void onPress(androidx.ui.core.PxPosition position);
-    method public void setContainerLayoutCoordinates(androidx.ui.core.LayoutCoordinates p);
-    method public void setMode(androidx.ui.core.selection.SelectionMode p);
-    method public void setOnSelectionChange(kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> p);
-    method public void setSelection(androidx.ui.core.selection.Selection? p);
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-    property public final androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-    property public final androidx.ui.core.selection.SelectionMode mode;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange;
-    property public final androidx.ui.core.selection.Selection? selection;
-    field public androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-  public interface SelectionRegistrar {
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-  }
-
-  public interface TextSelectionHandler {
-    method public androidx.ui.core.selection.Selection? getSelection(kotlin.Pair<androidx.ui.core.PxPosition,androidx.ui.core.PxPosition> selectionCoordinates, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, androidx.ui.core.selection.SelectionMode mode);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, androidx.ui.graphics.vector.PathNode![] clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public androidx.ui.graphics.vector.PathNode![] getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, androidx.ui.graphics.vector.PathNode![] pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public androidx.ui.graphics.vector.PathNode![] getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class DeferredResource<T> {
-    ctor public DeferredResource();
-    method public T? getResource();
-    method public void setResource$lintWithKotlin(T? p);
-    property public final T? resource;
-  }
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-  }
-
-  public final class ResourcesKt {
-    ctor public ResourcesKt();
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int resId);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev02.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev02.txt
deleted file mode 100644
index 15b00a2..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev02.txt
+++ /dev/null
@@ -1,509 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    ctor public PasswordTextFieldKt();
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, String? text = null, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    ctor public GestureUtilsKt();
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.core.PxPosition component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.text.style.TextDirection component5();
-    method public androidx.ui.text.style.TextDirection component6();
-    method public androidx.ui.core.LayoutCoordinates? component7();
-    method public androidx.ui.core.LayoutCoordinates? component8();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition getEndCoordinates();
-    method public androidx.ui.text.style.TextDirection getEndDirection();
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public int getEndOffset();
-    method public androidx.ui.core.PxPosition getStartCoordinates();
-    method public androidx.ui.text.style.TextDirection getStartDirection();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public int getStartOffset();
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManager implements androidx.ui.core.selection.SelectionRegistrar {
-    ctor public SelectionManager();
-    method public androidx.ui.core.PxPosition getAdjustedCoordinates(androidx.ui.core.PxPosition p);
-    method public androidx.ui.core.LayoutCoordinates getContainerLayoutCoordinates();
-    method public androidx.ui.core.selection.SelectionMode getMode();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> getOnSelectionChange();
-    method public androidx.ui.core.selection.Selection? getSelection();
-    method public androidx.ui.core.gesture.DragObserver handleDragObserver(boolean dragStartHandle);
-    method public void onPress(androidx.ui.core.PxPosition position);
-    method public void setContainerLayoutCoordinates(androidx.ui.core.LayoutCoordinates p);
-    method public void setMode(androidx.ui.core.selection.SelectionMode p);
-    method public void setOnSelectionChange(kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> p);
-    method public void setSelection(androidx.ui.core.selection.Selection? p);
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-    property public final androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-    property public final androidx.ui.core.selection.SelectionMode mode;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange;
-    property public final androidx.ui.core.selection.Selection? selection;
-    field public androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-  public interface SelectionRegistrar {
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-  }
-
-  public interface TextSelectionHandler {
-    method public androidx.ui.core.selection.Selection? getSelection(kotlin.Pair<androidx.ui.core.PxPosition,androidx.ui.core.PxPosition> selectionCoordinates, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, androidx.ui.core.selection.SelectionMode mode);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, androidx.ui.graphics.vector.PathNode![] clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public androidx.ui.graphics.vector.PathNode![] getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, androidx.ui.graphics.vector.PathNode![] pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public androidx.ui.graphics.vector.PathNode![] getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int resId);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev03.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev03.txt
deleted file mode 100644
index a2b3818..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev03.txt
+++ /dev/null
@@ -1,625 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    ctor public PasswordTextFieldKt();
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler = {}, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    ctor public PopupKt();
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    ctor public RawScaleGestureDetectorKt();
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    ctor public ScaleGestureDetectorKt();
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    ctor public ScaleSlopExceededGestureDetectorKt();
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-    ctor public ScaleUtilKt();
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    ctor public GestureUtilsKt();
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Uptime uptime, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.core.PxPosition startPosition, androidx.ui.core.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.core.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    ctor public SelectionContainerKt();
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-    ctor public SelectionHandlesKt();
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-  }
-
-  public interface SelectionRegistrar {
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    ctor public SelectionRegistrarKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-    ctor public TextSelectionDelegateKt();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    ctor public FocusableKt();
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = +memo({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    ctor public ColorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Color> colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.Image>> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    ctor public PrimitiveResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Boolean> booleanResource(@BoolRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Dp> dimensionResource(@DimenRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<int[]> integerArrayResource(@ArrayRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Integer> integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-    ctor public ResourcesKt();
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String[]> stringArrayResource(@ArrayRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.Px,? super androidx.ui.core.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
deleted file mode 100644
index 10f5f62..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.DensityScope, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier toModifier(androidx.ui.graphics.painter.Painter, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.unit.DensityScope,kotlin.Unit> block);
-    method public static inline androidx.ui.unit.Density ambientDensity();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedBack> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public float component6();
-    method public float component7();
-    method public float component8();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
-    method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.Image imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.Image> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev05.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev05.txt
deleted file mode 100644
index 80001c22c..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev05.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier toModifier(androidx.ui.graphics.painter.Painter, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.Image imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.Image> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev06.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev06.txt
deleted file mode 100644
index ec30f25..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev06.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.PlatformHandler> getPlatformHandlerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev07.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev07.txt
deleted file mode 100644
index 36fe8fb..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev07.txt
+++ /dev/null
@@ -1,622 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class Compose {
-    method @Deprecated @MainThread public androidx.compose.Composition composeInto(android.view.ViewGroup container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public androidx.compose.Composition composeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public void disposeComposition(android.view.ViewGroup container, androidx.compose.CompositionReference? parent = null);
-    method @Deprecated @MainThread public void disposeComposition(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null);
-    field public static final androidx.compose.Compose! INSTANCE;
-  }
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class CoreTextKt {
-    method public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-  }
-
-  public final class WrapperKt {
-    method @Deprecated public static void disposeComposition(android.view.ViewGroup);
-    method @Deprecated public static void disposeComposition(android.app.Activity);
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.Owner> getOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static androidx.ui.core.Modifier PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawPressStartStartGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TapGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onTap = null, boolean enabled = true);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev08.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev08.txt
deleted file mode 100644
index a63d41c..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev08.txt
+++ /dev/null
@@ -1,628 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.InputState value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.InputState,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-  }
-
-  public final class CoreTextKt {
-    method public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.Owner> getOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static androidx.ui.core.Modifier PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawPressStartStartGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TapGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusManager.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusManager.FocusNode node);
-    method public void requestFocus(androidx.ui.core.input.FocusManager.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public static interface FocusManager.FocusNode {
-    method public void onBlur(boolean hasNextClient);
-    method public void onFocus();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.core.Modifier, androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev09.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev09.txt
deleted file mode 100644
index 35b5c3b3..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev09.txt
+++ /dev/null
@@ -1,629 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusNode node);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.core.Modifier, androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev10.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev10.txt
deleted file mode 100644
index b00578c..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev10.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.unit.Dp elevation, androidx.ui.graphics.Shape shape = RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusNode node);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev11.txt
deleted file mode 100644
index c80797d..0000000
--- a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev11.txt
+++ /dev/null
@@ -1,589 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static float getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static float getDoubleTapTouchSlop();
-    method public static float getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static float getMaxFlingVelocity();
-    method public static float getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static float getScaleSlop();
-    method public static float getTouchSlop();
-    method public static float getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  @Deprecated public final class FocusOperator {
-    ctor @Deprecated public FocusOperator();
-  }
-
-  public final class FocusableKt {
-    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class PointerInteropFilterKt {
-  }
-
-  public final class PointerInteropUtilsKt {
-  }
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static float dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-    method public static void AndroidView(android.view.View view);
-  }
-
-}
-
diff --git a/ui/ui-framework/api/public_plus_experimental_current.txt b/ui/ui-framework/api/public_plus_experimental_current.txt
deleted file mode 100644
index c80797d..0000000
--- a/ui/ui-framework/api/public_plus_experimental_current.txt
+++ /dev/null
@@ -1,589 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static float getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static float getDoubleTapTouchSlop();
-    method public static float getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static float getMaxFlingVelocity();
-    method public static float getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static float getScaleSlop();
-    method public static float getTouchSlop();
-    method public static float getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  @Deprecated public final class FocusOperator {
-    ctor @Deprecated public FocusOperator();
-  }
-
-  public final class FocusableKt {
-    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class PointerInteropFilterKt {
-  }
-
-  public final class PointerInteropUtilsKt {
-  }
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  public final class ViewInteropKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static float dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-    method public static void AndroidView(android.view.View view);
-  }
-
-}
-
diff --git a/ui/ui-framework/api/res-0.1.0-dev02.txt b/ui/ui-framework/api/res-0.1.0-dev02.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev02.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev03.txt b/ui/ui-framework/api/res-0.1.0-dev03.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev03.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev04.txt b/ui/ui-framework/api/res-0.1.0-dev04.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev04.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev05.txt b/ui/ui-framework/api/res-0.1.0-dev05.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev05.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev06.txt b/ui/ui-framework/api/res-0.1.0-dev06.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev06.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev07.txt b/ui/ui-framework/api/res-0.1.0-dev07.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev07.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev08.txt b/ui/ui-framework/api/res-0.1.0-dev08.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev08.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev09.txt b/ui/ui-framework/api/res-0.1.0-dev09.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev09.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev10.txt b/ui/ui-framework/api/res-0.1.0-dev10.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev10.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-0.1.0-dev11.txt b/ui/ui-framework/api/res-0.1.0-dev11.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-0.1.0-dev11.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/res-current.txt b/ui/ui-framework/api/res-current.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-framework/api/res-current.txt
+++ /dev/null
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev01.txt b/ui/ui-framework/api/restricted_0.1.0-dev01.txt
deleted file mode 100644
index 814fbde..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev01.txt
+++ /dev/null
@@ -1,512 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, String? text = null, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @CheckResult(suggest="+") public static <R> androidx.compose.Effect<R> withDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,? extends R> block);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.core.PxPosition component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.text.style.TextDirection component5();
-    method public androidx.ui.text.style.TextDirection component6();
-    method public androidx.ui.core.LayoutCoordinates? component7();
-    method public androidx.ui.core.LayoutCoordinates? component8();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition getEndCoordinates();
-    method public androidx.ui.text.style.TextDirection getEndDirection();
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public int getEndOffset();
-    method public androidx.ui.core.PxPosition getStartCoordinates();
-    method public androidx.ui.text.style.TextDirection getStartDirection();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public int getStartOffset();
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManager implements androidx.ui.core.selection.SelectionRegistrar {
-    ctor public SelectionManager();
-    method public androidx.ui.core.PxPosition getAdjustedCoordinates(androidx.ui.core.PxPosition p);
-    method public androidx.ui.core.LayoutCoordinates getContainerLayoutCoordinates();
-    method public androidx.ui.core.selection.SelectionMode getMode();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> getOnSelectionChange();
-    method public androidx.ui.core.selection.Selection? getSelection();
-    method public androidx.ui.core.gesture.DragObserver handleDragObserver(boolean dragStartHandle);
-    method public void onPress(androidx.ui.core.PxPosition position);
-    method public void setContainerLayoutCoordinates(androidx.ui.core.LayoutCoordinates p);
-    method public void setMode(androidx.ui.core.selection.SelectionMode p);
-    method public void setOnSelectionChange(kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> p);
-    method public void setSelection(androidx.ui.core.selection.Selection? p);
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-    property public final androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-    property public final androidx.ui.core.selection.SelectionMode mode;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange;
-    property public final androidx.ui.core.selection.Selection? selection;
-    field public androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-  public interface SelectionRegistrar {
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-  }
-
-  public interface TextSelectionHandler {
-    method public androidx.ui.core.selection.Selection? getSelection(kotlin.Pair<androidx.ui.core.PxPosition,androidx.ui.core.PxPosition> selectionCoordinates, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, androidx.ui.core.selection.SelectionMode mode);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color? tintColor = null, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, androidx.ui.graphics.vector.PathNode![] clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public androidx.ui.graphics.vector.PathNode![] getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, androidx.ui.graphics.vector.PathNode![] pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public androidx.ui.graphics.vector.PathNode![] getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class DeferredResource<T> {
-    ctor public DeferredResource();
-    method public T? getResource();
-    method public void setResource$lintWithKotlin(T? p);
-    property public final T? resource;
-  }
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-  }
-
-  public final class ResourcesKt {
-    ctor public ResourcesKt();
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int resId);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev02.txt b/ui/ui-framework/api/restricted_0.1.0-dev02.txt
deleted file mode 100644
index 15b00a2..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev02.txt
+++ /dev/null
@@ -1,509 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    ctor public PasswordTextFieldKt();
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.input.EditorStyle? editorStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, String? text = null, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, androidx.ui.graphics.Color selectionColor = androidx.ui.core.TextKt.DefaultSelectionColor);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.TextStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    ctor public GestureUtilsKt();
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Timestamp time, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.core.PxPosition component2();
-    method public int component3();
-    method public int component4();
-    method public androidx.ui.text.style.TextDirection component5();
-    method public androidx.ui.text.style.TextDirection component6();
-    method public androidx.ui.core.LayoutCoordinates? component7();
-    method public androidx.ui.core.LayoutCoordinates? component8();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.PxPosition startCoordinates, androidx.ui.core.PxPosition endCoordinates, int startOffset, int endOffset, androidx.ui.text.style.TextDirection startDirection, androidx.ui.text.style.TextDirection endDirection, androidx.ui.core.LayoutCoordinates? startLayoutCoordinates, androidx.ui.core.LayoutCoordinates? endLayoutCoordinates);
-    method public androidx.ui.core.PxPosition getEndCoordinates();
-    method public androidx.ui.text.style.TextDirection getEndDirection();
-    method public androidx.ui.core.LayoutCoordinates? getEndLayoutCoordinates();
-    method public int getEndOffset();
-    method public androidx.ui.core.PxPosition getStartCoordinates();
-    method public androidx.ui.text.style.TextDirection getStartDirection();
-    method public androidx.ui.core.LayoutCoordinates? getStartLayoutCoordinates();
-    method public int getStartOffset();
-  }
-
-  public final class SelectionKt {
-    ctor public SelectionKt();
-  }
-
-  public final class SelectionManager implements androidx.ui.core.selection.SelectionRegistrar {
-    ctor public SelectionManager();
-    method public androidx.ui.core.PxPosition getAdjustedCoordinates(androidx.ui.core.PxPosition p);
-    method public androidx.ui.core.LayoutCoordinates getContainerLayoutCoordinates();
-    method public androidx.ui.core.selection.SelectionMode getMode();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> getOnSelectionChange();
-    method public androidx.ui.core.selection.Selection? getSelection();
-    method public androidx.ui.core.gesture.DragObserver handleDragObserver(boolean dragStartHandle);
-    method public void onPress(androidx.ui.core.PxPosition position);
-    method public void setContainerLayoutCoordinates(androidx.ui.core.LayoutCoordinates p);
-    method public void setMode(androidx.ui.core.selection.SelectionMode p);
-    method public void setOnSelectionChange(kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> p);
-    method public void setSelection(androidx.ui.core.selection.Selection? p);
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-    property public final androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-    property public final androidx.ui.core.selection.SelectionMode mode;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange;
-    property public final androidx.ui.core.selection.Selection? selection;
-    field public androidx.ui.core.LayoutCoordinates containerLayoutCoordinates;
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public enum SelectionMode {
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Horizontal;
-    enum_constant public static final androidx.ui.core.selection.SelectionMode Vertical;
-  }
-
-  public interface SelectionRegistrar {
-    method public Object subscribe(androidx.ui.core.selection.TextSelectionHandler handler);
-    method public void unsubscribe(Object key);
-  }
-
-  public interface TextSelectionHandler {
-    method public androidx.ui.core.selection.Selection? getSelection(kotlin.Pair<androidx.ui.core.PxPosition,androidx.ui.core.PxPosition> selectionCoordinates, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, androidx.ui.core.selection.SelectionMode mode);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, androidx.ui.graphics.vector.PathNode![] clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, androidx.ui.graphics.vector.PathNode![] pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, androidx.ui.graphics.vector.PathNode![] clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public androidx.ui.graphics.vector.PathNode![] getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, androidx.ui.graphics.vector.PathNode![] pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public androidx.ui.graphics.vector.PathNode![] getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int resId);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev03.txt b/ui/ui-framework/api/restricted_0.1.0-dev03.txt
deleted file mode 100644
index a2b3818..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev03.txt
+++ /dev/null
@@ -1,625 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class ClipKt {
-    ctor public ClipKt();
-    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    ctor public DrawKt();
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    ctor public DrawShadowKt();
-    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class EditorModel {
-    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
-    ctor public EditorModel();
-    method public String component1();
-    method public androidx.ui.text.TextRange component2();
-    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
-    method public androidx.ui.text.TextRange getSelection();
-    method public String getText();
-  }
-
-  public final class LayoutKt {
-    ctor public LayoutKt();
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    ctor public OpacityKt();
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ParentDataKt {
-    ctor public ParentDataKt();
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    ctor public PasswordTextFieldKt();
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    ctor public PointerInputWrapperKt();
-    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler = {}, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    ctor public PopupKt();
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    ctor public RepaintBoundaryKt();
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagProviderKt {
-    ctor public TestTagProviderKt();
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static String getDefaultTestTag();
-    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
-  }
-
-  public final class TextFieldDelegateKt {
-    ctor public TextFieldDelegateKt();
-  }
-
-  public final class TextFieldKt {
-    ctor public TextFieldKt();
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    ctor public TextKt();
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
-    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class TextSpanComposeKt {
-    ctor public TextSpanComposeKt();
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
-    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null);
-    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
-    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
-  }
-
-  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
-  }
-
-  public final class TextSpanComposition {
-    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
-    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
-    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
-    method public androidx.ui.core.TextSpanComposer getComposer();
-    method public inline Object joinKey(Object left, Object? right);
-    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
-  }
-
-  public final class TextSpanScope {
-    method public androidx.ui.core.TextSpanComposition getComposer();
-  }
-
-  public final class WrapperKt {
-    ctor public WrapperKt();
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
-    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.Ambient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.Ambient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    ctor public ConstantsKt();
-    method public static androidx.ui.core.Duration getDoubleTapMinTime();
-    method public static androidx.ui.core.Dp getDoubleTapSlop();
-    method public static androidx.ui.core.Duration getDoubleTapTimeout();
-    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.core.Dp getHoverTapSlop();
-    method public static androidx.ui.core.Duration getHoverTapTimeout();
-    method public static androidx.ui.core.Duration getJumpTapTimeout();
-    method public static androidx.ui.core.Duration getLongPressTimeout();
-    method public static androidx.ui.core.Dp getMaxFlingVelocity();
-    method public static androidx.ui.core.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.core.Duration getPressTimeout();
-    method public static androidx.ui.core.Dp getScaleSlop();
-    method public static androidx.ui.core.Dp getTouchSlop();
-    method public static androidx.ui.core.Dp getWindowTouchSlop();
-    method public static androidx.ui.core.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    ctor public DoubleTapGestureDetectorKt();
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.core.PxPosition downPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    ctor public LongPressDragGestureDetectorKt();
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.core.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    ctor public LongPressGestureDetectorKt();
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    ctor public PressGestureDetectorKt();
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    ctor public PressIndicatorGestureDetectorKt();
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    ctor public PressReleasedGestureDetectorKt();
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    ctor public RawDragGestureDetectorKt();
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    ctor public RawScaleGestureDetectorKt();
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    ctor public ScaleGestureDetectorKt();
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    ctor public ScaleSlopExceededGestureDetectorKt();
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-    ctor public ScaleUtilKt();
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    ctor public TouchSlopDragGestureDetectorKt();
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    ctor public TouchSlopExceededGestureDetectorKt();
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    ctor public GestureUtilsKt();
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-    ctor public PolyFitLeastSquaresKt();
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.core.Uptime uptime, androidx.ui.core.PxPosition position);
-    method public androidx.ui.core.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-    ctor public VelocityTrackerKt();
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.core.PxPosition startPosition, androidx.ui.core.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.core.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.core.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    ctor public SelectionContainerKt();
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-    ctor public SelectionHandlesKt();
-  }
-
-  public final class SelectionManagerKt {
-    ctor public SelectionManagerKt();
-  }
-
-  public interface SelectionRegistrar {
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    ctor public SelectionRegistrarKt();
-    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-    ctor public TextSelectionDelegateKt();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    ctor public FocusableKt();
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = +memo({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.core.Px getDefaultHeight();
-    method public androidx.ui.core.Px getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    ctor public VectorAssetKt();
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    ctor public VectorComposeKt();
-    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-    ctor public XmlVectorParserKt();
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    ctor public ColorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Color> colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    ctor public ImageResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.Image>> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    ctor public PrimitiveResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Boolean> booleanResource(@BoolRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Dp> dimensionResource(@DimenRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<int[]> integerArrayResource(@ArrayRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Integer> integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-    ctor public ResourcesKt();
-  }
-
-  public final class StringResourcesKt {
-    ctor public StringResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String[]> stringArrayResource(@ArrayRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    ctor public VectorResourcesKt();
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    ctor public SemanticsKt();
-    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    ctor public SemanticsPropertiesKt();
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.Px,? super androidx.ui.core.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    ctor public InspectionModeKt();
-    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev04.txt b/ui/ui-framework/api/restricted_0.1.0-dev04.txt
deleted file mode 100644
index 10f5f62..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev04.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.DensityScope, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier toModifier(androidx.ui.graphics.painter.Painter, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.unit.DensityScope,kotlin.Unit> block);
-    method public static inline androidx.ui.unit.Density ambientDensity();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedBack> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public void ensureNotConsumed();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public float component6();
-    method public float component7();
-    method public float component8();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component9();
-    method public androidx.ui.graphics.vector.VectorGroup copy(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.Image imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.Image> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev05.txt b/ui/ui-framework/api/restricted_0.1.0-dev05.txt
deleted file mode 100644
index 80001c22c..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev05.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier toModifier(androidx.ui.graphics.painter.Painter, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition component1();
-    method public androidx.ui.text.style.TextDirection component2();
-    method public int component3();
-    method public androidx.ui.core.LayoutCoordinates? component4();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.unit.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
-    method public androidx.ui.unit.PxPosition getCoordinates();
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public int getOffset();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.Image imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.Image> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev06.txt b/ui/ui-framework/api/restricted_0.1.0-dev06.txt
deleted file mode 100644
index ec30f25..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev06.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.core {
-
-  public final class AndroidViewCompatKt {
-  }
-
-  public final class ClipKt {
-    method public static inline void Clip(androidx.ui.graphics.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static inline void DrawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method @Deprecated public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
-    method public boolean contains(androidx.ui.core.Measurable element);
-    method public boolean containsAll(java.util.Collection<?> elements);
-    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public androidx.ui.core.Measurable get(int index);
-    method public int getSize();
-    method public int indexOf(androidx.ui.core.Measurable element);
-    method public boolean isEmpty();
-    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
-    method public int lastIndexOf(androidx.ui.core.Measurable element);
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
-    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
-    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
-  }
-
-  public final class OpacityKt {
-    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class RepaintBoundaryKt {
-    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null);
-  }
-
-  public final class TextKt {
-    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, int maxLines = 2147483647, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static androidx.ui.text.TextStyle currentTextStyle();
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class WrapperKt {
-    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.PlatformHandler> getPlatformHandlerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressGestureDetectorKt {
-    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onPress = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PressReleasedGestureDetectorKt {
-    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onRelease = null, boolean consumeDownOnStart = true, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TouchSlopDragGestureDetectorKt {
-    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void DrawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void DrawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev07.txt b/ui/ui-framework/api/restricted_0.1.0-dev07.txt
deleted file mode 100644
index 7d37296..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev07.txt
+++ /dev/null
@@ -1,631 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class Compose {
-    method @Deprecated @MainThread public androidx.compose.Composition composeInto(android.view.ViewGroup container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public androidx.compose.Composition composeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public void disposeComposition(android.view.ViewGroup container, androidx.compose.CompositionReference? parent = null);
-    method @Deprecated @MainThread public void disposeComposition(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null);
-    field public static final androidx.compose.Compose! INSTANCE;
-  }
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class CoreTextKt {
-    method public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PasswordTextFieldKt {
-    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {});
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void disposeActivityComposition(android.app.Activity activity);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class TextFieldKt {
-    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void TextField(androidx.ui.text.TextFieldValue value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextFieldValue,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-    method public static void TextField(androidx.ui.text.TextFieldValue model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.text.TextFieldValue,? super androidx.ui.text.TextRange,kotlin.Unit> onValueChange = { _, _ ->  }, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-  }
-
-  public final class WrapperKt {
-    method @Deprecated public static void disposeComposition(android.view.ViewGroup);
-    method @Deprecated public static void disposeComposition(android.app.Activity);
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.Owner> getOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static androidx.ui.core.Modifier PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawPressStartStartGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TapGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>? onTap = null, boolean enabled = true);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public class FocusManager {
-    method public final void requestFocusById(String identifier);
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
-    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
-    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
-    method public int getId();
-    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
-    property public abstract int id;
-  }
-
-  public final class ViewInteropKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev08.txt b/ui/ui-framework/api/restricted_0.1.0-dev08.txt
deleted file mode 100644
index 3c1b915..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev08.txt
+++ /dev/null
@@ -1,637 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.InputState value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.InputState,kotlin.Unit> onValueChange = {}, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit> onFocus = {}, kotlin.jvm.functions.Function0<kotlin.Unit> onBlur = {}, String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {});
-  }
-
-  public final class CoreTextKt {
-    method public static void CoreText(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle style, boolean softWrap, androidx.ui.text.style.TextOverflow overflow, int maxLines, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout);
-    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
-    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
-    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class TextFieldDelegateKt {
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.Owner> getOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier DragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureDetectorKt {
-    method public static androidx.ui.core.Modifier LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureDetectorKt {
-    method public static androidx.ui.core.Modifier PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawPressStartStartGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TapGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureDetectorKt {
-    method public static androidx.ui.core.Modifier TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusManager.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusManager.FocusNode node);
-    method public void requestFocus(androidx.ui.core.input.FocusManager.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public static interface FocusManager.FocusNode {
-    method public void onBlur(boolean hasNextClient);
-    method public void onFocus();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-  public final class TextSelectionDelegateKt {
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.core.Modifier, androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
-    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
-    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
-    method public int getId();
-    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
-    property public abstract int id;
-  }
-
-  public final class ViewInteropKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev09.txt b/ui/ui-framework/api/restricted_0.1.0-dev09.txt
deleted file mode 100644
index ba2df5a..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev09.txt
+++ /dev/null
@@ -1,638 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.unit.Density,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusNode node);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector(androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.core.Modifier drawVector(androidx.ui.core.Modifier, androidx.ui.unit.Px defaultWidth, androidx.ui.unit.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
-    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
-    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
-    method public int getId();
-    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
-    property public abstract int id;
-  }
-
-  public final class ViewInteropKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static androidx.ui.graphics.Color colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsActions {
-    ctor public SemanticsActions();
-    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
-  }
-
-  public static final class SemanticsActions.Companion {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> getScrollTo();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>>> ScrollTo;
-  }
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsProperties {
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> getAccessibilityRangeInfo();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
-    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
-    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityRangeInfo> AccessibilityRangeInfo;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
-    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
-    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev10.txt b/ui/ui-framework/api/restricted_0.1.0-dev10.txt
deleted file mode 100644
index fb3cf97..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev10.txt
+++ /dev/null
@@ -1,607 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawKt {
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-    method @Deprecated public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> onPaint);
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow(androidx.ui.graphics.Shape shape, androidx.ui.unit.Dp elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow(androidx.ui.core.Modifier, androidx.ui.unit.Dp elevation, androidx.ui.graphics.Shape shape = RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static androidx.ui.unit.Dp getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static androidx.ui.unit.Dp getDoubleTapTouchSlop();
-    method public static androidx.ui.unit.Dp getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static androidx.ui.unit.Dp getMaxFlingVelocity();
-    method public static androidx.ui.unit.Dp getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static androidx.ui.unit.Dp getScaleSlop();
-    method public static androidx.ui.unit.Dp getTouchSlop();
-    method public static androidx.ui.unit.Dp getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerFocusNode(String identifier, androidx.ui.core.input.FocusNode node);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-    method public void requestFocusById(String identifier);
-    method public void unregisterFocusNode(String identifier);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  public final class FocusOperator {
-    ctor public FocusOperator();
-    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
-    method public androidx.ui.focus.FocusState getFocusState();
-    method public void requestFocus();
-    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
-    property public final androidx.ui.focus.FocusState focusState;
-  }
-
-  public final class FocusableKt {
-    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = remember({ 
-    <init>()
-}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public androidx.ui.unit.Dp component2();
-    method public androidx.ui.unit.Dp component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    ctor public VectorAssetBuilder(String name, androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth, float viewportHeight);
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public androidx.ui.unit.Dp getDefaultHeight();
-    method public androidx.ui.unit.Dp getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize bounds);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.unit.Dp defaultWidth, androidx.ui.unit.Dp defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
-    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
-    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
-    method public int getId();
-    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
-    property public abstract int id;
-  }
-
-  public final class ViewInteropKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static androidx.ui.unit.Dp dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev11.txt b/ui/ui-framework/api/restricted_0.1.0-dev11.txt
deleted file mode 100644
index dc72e39..0000000
--- a/ui/ui-framework/api/restricted_0.1.0-dev11.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static float getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static float getDoubleTapTouchSlop();
-    method public static float getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static float getMaxFlingVelocity();
-    method public static float getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static float getScaleSlop();
-    method public static float getTouchSlop();
-    method public static float getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  @Deprecated public final class FocusOperator {
-    ctor @Deprecated public FocusOperator();
-  }
-
-  public final class FocusableKt {
-    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class PointerInteropFilterKt {
-  }
-
-  public final class PointerInteropUtilsKt {
-  }
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
-    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
-    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
-    method public int getId();
-    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
-    property public abstract int id;
-  }
-
-  public final class ViewInteropKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static float dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-    method public static void AndroidView(android.view.View view);
-  }
-
-}
-
diff --git a/ui/ui-framework/api/restricted_current.txt b/ui/ui-framework/api/restricted_current.txt
deleted file mode 100644
index dc72e39..0000000
--- a/ui/ui-framework/api/restricted_current.txt
+++ /dev/null
@@ -1,598 +0,0 @@
-// Signature format: 3.0
-package androidx.compose {
-
-  public final class ComposerCompatKt {
-    method @Deprecated public static androidx.ui.node.UiComposer getComposer();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class ClipKt {
-    method public static androidx.ui.core.Modifier clip(androidx.ui.core.Modifier, androidx.ui.graphics.Shape shape);
-    method public static androidx.ui.core.Modifier clipToBounds(androidx.ui.core.Modifier);
-    method @Deprecated public static androidx.ui.core.Modifier drawClip(androidx.ui.graphics.Shape shape);
-    method @Deprecated public static androidx.ui.core.Modifier getDrawClipToBounds();
-  }
-
-  public final class DrawShadowKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawShadow-IFvMOQI(androidx.ui.graphics.Shape shape, float elevation, boolean clipToOutline = true, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-    method public static androidx.ui.core.Modifier drawShadow-xWKVMPI(androidx.ui.core.Modifier, float elevation, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, boolean clipToOutline = elevation > 0.dp, @FloatRange(from=0.0, to=1.0) float opacity = 1f);
-  }
-
-  public enum DropDownAlignment {
-    enum_constant public static final androidx.ui.core.DropDownAlignment End;
-    enum_constant public static final androidx.ui.core.DropDownAlignment Start;
-  }
-
-  public final class LayoutKt {
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function4<? super androidx.ui.core.IntrinsicMeasureScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.unit.IntPx,? super androidx.ui.core.LayoutDirection,androidx.ui.unit.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method public static androidx.ui.core.LayoutNode.MeasureBlocks MeasuringIntrinsicsMeasureBlocks(kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void MultiMeasureLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function4<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,? extends androidx.ui.core.MeasureScope.MeasureResult> measureBlock);
-    method @Deprecated public static void PassThroughLayout(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier, kotlin.jvm.functions.Function2<? super androidx.ui.core.Constraints,? super androidx.ui.core.LayoutDirection,kotlin.Unit> children);
-  }
-
-  public final class LayoutTag implements androidx.ui.core.LayoutTagParentData androidx.ui.core.ParentDataModifier {
-    ctor @Deprecated public LayoutTag(Object tag);
-    method public Object component1();
-    method public androidx.ui.core.LayoutTag copy(Object tag);
-    method public Object getTag();
-    method public Object? modifyParentData(androidx.ui.unit.Density, Object? parentData);
-  }
-
-  public final class LayoutTagKt {
-    method public static Object? getTag(androidx.ui.core.Measurable);
-    method public static androidx.ui.core.Modifier tag(androidx.ui.core.Modifier, Object tag);
-  }
-
-  public interface LayoutTagParentData {
-    method public Object getTag();
-    property public abstract Object tag;
-  }
-
-  public final class OpacityKt {
-    method public static androidx.ui.core.Modifier drawOpacity(androidx.ui.core.Modifier, @FloatRange(from=0.0, to=1.0) float opacity);
-    method @Deprecated public static androidx.ui.core.Modifier drawOpacity(@FloatRange(from=0.0, to=1.0) float opacity);
-  }
-
-  public final class PainterModifierKt {
-    method @Deprecated public static androidx.ui.core.DrawModifier asModifier(androidx.ui.graphics.painter.Painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-    method public static androidx.ui.core.Modifier paint(androidx.ui.core.Modifier, androidx.ui.graphics.painter.Painter painter, boolean sizeToIntrinsics = true, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, float alpha = 1.0f, androidx.ui.graphics.ColorFilter? colorFilter = null, boolean rtl = false);
-  }
-
-  public final class ParentDataKt {
-    method @Deprecated public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PointerInputWrapperKt {
-    method public static inline void PointerInput(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler, kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class PopupKt {
-    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Start, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopStart, androidx.ui.unit.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
-  }
-
-  public final class PopupProperties {
-    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    ctor public PopupProperties();
-    method public boolean component1();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
-    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
-    method public boolean isFocusable();
-  }
-
-  public final class TestTagKt {
-    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class WrapperKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.Autofill> getAutofillAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.clipboard.ClipboardManager> getClipboardManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.res.Configuration> getConfigurationAmbient();
-    method public static androidx.compose.ProvidableAmbient<android.content.Context> getContextAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.unit.Density> getDensityAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.hapticfeedback.HapticFeedback> getHapticFeedBackAmbient();
-    method @Deprecated public static androidx.compose.ProvidableAmbient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.lifecycle.LifecycleOwner> getLifecycleOwnerAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.texttoolbar.TextToolbar> getTextToolbarAmbient();
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.platform.UriHandler> getUriHandlerAmbient();
-    method public static androidx.compose.Composition setContent(androidx.activity.ComponentActivity, androidx.compose.Recomposer recomposer = Recomposer.current(), kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setContent(android.view.ViewGroup, androidx.compose.Recomposer recomposer, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method @Deprecated public static androidx.compose.Composition setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
-    method public static androidx.compose.Composition setViewContent(android.view.ViewGroup, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method public static androidx.compose.Composition setViewContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @MainThread public static androidx.compose.Composition subcomposeInto(android.content.Context context, androidx.ui.core.ComponentNode container, androidx.compose.Recomposer recomposer, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-    method @Deprecated @MainThread public static androidx.compose.Composition subcomposeInto(androidx.ui.core.ComponentNode container, android.content.Context context, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function0<kotlin.Unit> composable);
-  }
-
-}
-
-package androidx.ui.core.gesture {
-
-  public final class ConstantsKt {
-    method public static androidx.ui.unit.Duration getDoubleTapMinTime();
-    method public static float getDoubleTapSlop();
-    method public static androidx.ui.unit.Duration getDoubleTapTimeout();
-    method public static float getDoubleTapTouchSlop();
-    method public static float getHoverTapSlop();
-    method public static androidx.ui.unit.Duration getHoverTapTimeout();
-    method public static androidx.ui.unit.Duration getJumpTapTimeout();
-    method public static androidx.ui.unit.Duration getLongPressTimeout();
-    method public static float getMaxFlingVelocity();
-    method public static float getMinFlingVelocity();
-    method public static float getPagingTouchSlop();
-    method public static float getPanSlop();
-    method public static androidx.ui.unit.Duration getPressTimeout();
-    method public static float getScaleSlop();
-    method public static float getTouchSlop();
-    method public static float getWindowTouchSlop();
-    method public static androidx.ui.unit.Duration getZoomControlsTimeout();
-  }
-
-  public final class DoubleTapGestureFilterKt {
-    method public static androidx.ui.core.Modifier doubleTapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onDoubleTap);
-  }
-
-  public final class DragGestureFilterKt {
-    method public static androidx.ui.core.Modifier dragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, boolean startDragImmediately = false);
-  }
-
-  public interface DragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onStart(androidx.ui.unit.PxPosition downPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class GestureUtilsKt {
-    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public final class LongPressDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver);
-  }
-
-  public interface LongPressDragObserver {
-    method public default void onCancel();
-    method public default androidx.ui.unit.PxPosition onDrag(androidx.ui.unit.PxPosition dragDistance);
-    method public default void onDragStart();
-    method public default void onLongPress(androidx.ui.unit.PxPosition pxPosition);
-    method public default void onStop(androidx.ui.unit.PxPosition velocity);
-  }
-
-  public final class LongPressFiredEvent implements androidx.ui.core.CustomEvent {
-    field public static final androidx.ui.core.gesture.LongPressFiredEvent! INSTANCE;
-  }
-
-  public final class LongPressGestureFilterKt {
-    method public static androidx.ui.core.Modifier longPressGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onLongPress);
-  }
-
-  public final class PressIndicatorGestureFilterKt {
-    method public static androidx.ui.core.Modifier pressIndicatorGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit>? onStart = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onStop = null, kotlin.jvm.functions.Function0<kotlin.Unit>? onCancel = null, boolean enabled = true);
-  }
-
-  public final class RawDragGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawDragGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null);
-  }
-
-  public final class RawPressStartGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawPressStartGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function1<? super androidx.ui.unit.PxPosition,kotlin.Unit> onPressStart, boolean enabled = false, androidx.ui.core.PointerEventPass executionPass = PointerEventPass.PostUp);
-  }
-
-  public final class RawScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier rawScaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null);
-  }
-
-  public interface RawScaleObserver {
-    method public default void onCancel();
-    method public default float onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleGestureFilter(androidx.ui.core.Modifier, androidx.ui.core.gesture.ScaleObserver scaleObserver);
-  }
-
-  public interface ScaleObserver {
-    method public default void onCancel();
-    method public void onScale(float scaleFactor);
-    method public default void onStart();
-    method public default void onStop();
-  }
-
-  public final class ScaleSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier scaleSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded);
-  }
-
-  public final class ScaleUtilKt {
-  }
-
-  public final class TapGestureFilterKt {
-    method public static androidx.ui.core.Modifier tapGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTap);
-  }
-
-  public final class TouchSlopExceededGestureFilterKt {
-    method public static androidx.ui.core.Modifier touchSlopExceededGestureFilter(androidx.ui.core.Modifier, kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null);
-  }
-
-}
-
-package androidx.ui.core.gesture.util {
-
-  public final class PolyFitLeastSquaresKt {
-  }
-
-  public final class VelocityTracker {
-    ctor public VelocityTracker();
-    method public void addPosition(androidx.ui.unit.Uptime uptime, androidx.ui.unit.PxPosition position);
-    method public androidx.ui.unit.Velocity calculateVelocity();
-    method public void resetTracking();
-  }
-
-  public final class VelocityTrackerKt {
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public interface FocusManager {
-    method public void blur(androidx.ui.core.input.FocusNode client);
-    method public void registerObserver(androidx.ui.core.input.FocusNode node, kotlin.jvm.functions.Function2<? super androidx.ui.core.input.FocusNode,? super androidx.ui.core.input.FocusNode,kotlin.Unit> observer);
-    method public void requestFocus(androidx.ui.core.input.FocusNode client);
-  }
-
-  public final class FocusManagerKt {
-  }
-
-  public final class FocusNode {
-    ctor public FocusNode();
-  }
-
-}
-
-package androidx.ui.core.selection {
-
-  public interface Selectable {
-    method public androidx.ui.geometry.Rect getBoundingBox(int offset);
-    method public androidx.ui.unit.PxPosition getHandlePosition(androidx.ui.core.selection.Selection selection, boolean isStartHandle);
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.unit.PxPosition startPosition, androidx.ui.unit.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress, androidx.ui.core.selection.Selection? previousSelection = null, boolean isStartHandle = true);
-    method public androidx.ui.text.AnnotatedString getText();
-  }
-
-  public final class Selection {
-    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
-    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
-    method public boolean component3();
-    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
-    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
-    method public boolean getHandlesCrossed();
-    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
-    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
-    method public androidx.ui.text.TextRange toTextRange();
-  }
-
-  public static final class Selection.AnchorInfo {
-    ctor public Selection.AnchorInfo(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection component1();
-    method public int component2();
-    method public androidx.ui.core.selection.Selectable component3();
-    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.selection.Selectable selectable);
-    method public androidx.ui.text.style.TextDirection getDirection();
-    method public int getOffset();
-    method public androidx.ui.core.selection.Selectable getSelectable();
-  }
-
-  public final class SelectionContainerKt {
-    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SelectionHandlesKt {
-  }
-
-  public final class SelectionManagerKt {
-  }
-
-  public interface SelectionRegistrar {
-    method public void onPositionChange();
-    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
-    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
-  }
-
-  public final class SelectionRegistrarKt {
-    method public static androidx.compose.ProvidableAmbient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
-  }
-
-}
-
-package androidx.ui.focus {
-
-  public final class FocusModifierProviderKt {
-    method public static androidx.ui.focus.FocusModifier FocusModifier();
-    method public static androidx.ui.focus.FocusState getFocusState(androidx.ui.focus.FocusModifier);
-  }
-
-  @Deprecated public final class FocusOperator {
-    ctor @Deprecated public FocusOperator();
-  }
-
-  public final class FocusableKt {
-    method @Deprecated public static void Focusable(Object focusOperator, kotlin.jvm.functions.Function1<java.lang.Object,kotlin.Unit> children);
-  }
-
-}
-
-package androidx.ui.graphics.vector {
-
-  public final class VectorAsset {
-    method public String component1();
-    method public float component2();
-    method public float component3();
-    method public float component4();
-    method public float component5();
-    method public androidx.ui.graphics.vector.VectorGroup component6();
-    method public androidx.ui.graphics.vector.VectorAsset copy-rmhd70c(String name, float defaultWidth, float defaultHeight, float viewportWidth, float viewportHeight, androidx.ui.graphics.vector.VectorGroup root);
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public androidx.ui.graphics.vector.VectorGroup getRoot();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-  }
-
-  public final class VectorAssetBuilder {
-    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public androidx.ui.graphics.vector.VectorAsset build();
-    method public float getDefaultHeight();
-    method public float getDefaultWidth();
-    method public String getName();
-    method public float getViewportHeight();
-    method public float getViewportWidth();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
-    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath);
-  }
-
-  public final class VectorAssetBuilderKt {
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder group(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorAssetBuilder,kotlin.Unit> block);
-    method public static androidx.ui.graphics.vector.VectorAssetBuilder path(androidx.ui.graphics.vector.VectorAssetBuilder, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
-  }
-
-  public final class VectorAssetKt {
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-N7QT3do(androidx.ui.graphics.vector.VectorAsset vectorImage, long tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.core.ContentScale contentScale = ContentScale.Inside);
-  }
-
-  public final class VectorComposeKt {
-    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData = androidx.ui.graphics.vector.VectorKt.EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
-    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = androidx.ui.graphics.vector.VectorKt.DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
-    method public static androidx.ui.core.Modifier drawVector-DGWccOo(androidx.ui.core.Modifier, float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-coNG3w0(float defaultWidth, float defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    method @Deprecated public static androidx.ui.core.Modifier drawVector-ekZRHcQ(float defaultWidth, float defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, long tintColor = androidx.ui.graphics.vector.VectorKt.DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = androidx.ui.graphics.vector.VectorKt.DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.core.ContentScale contentScale = ContentScale.Inside, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-  }
-
-  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
-    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<? extends androidx.ui.graphics.vector.PathNode> clipPathData);
-    ctor public VectorGroup();
-    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
-    method public String getName();
-    method public float getPivotX();
-    method public float getPivotY();
-    method public float getRotation();
-    method public float getScaleX();
-    method public float getScaleY();
-    method public int getSize();
-    method public float getTranslationX();
-    method public float getTranslationY();
-    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
-    property public final int size;
-  }
-
-  public abstract sealed class VectorNode {
-  }
-
-  public final class VectorPainter extends androidx.ui.graphics.painter.Painter {
-    method public androidx.ui.unit.PxSize getIntrinsicSize();
-    method protected void onDraw(androidx.ui.graphics.painter.CanvasScope);
-    property public androidx.ui.unit.PxSize intrinsicSize;
-  }
-
-  public final class VectorPainterKt {
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter(androidx.ui.graphics.vector.VectorAsset asset);
-    method public static androidx.ui.graphics.vector.VectorPainter VectorPainter-uAXuNKI(float defaultWidth, float defaultHeight, float viewportWidth = Float.NaN, float viewportHeight = Float.NaN, String name = "VectorRootGroup", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
-    field public static final String RootGroupName = "VectorRootGroup";
-  }
-
-  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
-    ctor public VectorPath(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public String component1();
-    method public float component10();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> component2();
-    method public androidx.ui.graphics.Brush? component3();
-    method public float component4();
-    method public androidx.ui.graphics.Brush? component5();
-    method public float component6();
-    method public float component7();
-    method public androidx.ui.graphics.StrokeCap component8();
-    method public androidx.ui.graphics.StrokeJoin component9();
-    method public androidx.ui.graphics.vector.VectorPath copy(String name, java.util.List<? extends androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
-    method public androidx.ui.graphics.Brush? getFill();
-    method public float getFillAlpha();
-    method public String getName();
-    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
-    method public androidx.ui.graphics.Brush? getStroke();
-    method public float getStrokeAlpha();
-    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
-    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
-    method public float getStrokeLineMiter();
-    method public float getStrokeLineWidth();
-  }
-
-}
-
-package androidx.ui.graphics.vector.compat {
-
-  public final class XmlVectorParserKt {
-  }
-
-}
-
-package androidx.ui.node {
-
-  public final class PointerInteropFilterKt {
-  }
-
-  public final class PointerInteropUtilsKt {
-  }
-
-  public final class UiComposer extends androidx.compose.Composer<java.lang.Object> {
-    ctor public UiComposer(android.content.Context context, Object root, androidx.compose.SlotTable slotTable, androidx.compose.Recomposer recomposer);
-    method public inline <T extends android.view.View> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends android.view.ViewGroup> void emit(Object key, kotlin.jvm.functions.Function1<? super android.content.Context,? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update);
-    method public inline <T extends androidx.ui.core.ComponentNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<java.lang.Object,T>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-    method public android.content.Context getContext();
-    method public Object getRoot();
-  }
-
-  public final class UiComposerKt {
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface ViewAdapter {
-    method public void didInsert(android.view.View view, android.view.ViewGroup parent);
-    method public void didUpdate(android.view.View view, android.view.ViewGroup parent);
-    method public int getId();
-    method public void willInsert(android.view.View view, android.view.ViewGroup parent);
-    property public abstract int id;
-  }
-
-  public final class ViewInteropKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <T extends androidx.ui.node.ViewAdapter> T getOrAddAdapter(android.view.View, int id, kotlin.jvm.functions.Function0<? extends T> factory);
-  }
-
-}
-
-package androidx.ui.res {
-
-  public final class ColorResourcesKt {
-    method public static long colorResource(@ColorRes int id);
-  }
-
-  public final class DeferredResource<T> {
-    method public androidx.ui.res.Resource<T> getResource();
-    property public final androidx.ui.res.Resource<T> resource;
-  }
-
-  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public FailedResource(T? resource, Throwable? throwable);
-    method public Throwable? getThrowable();
-  }
-
-  public final class FontResourcesKt {
-    method public static androidx.ui.text.Typeface fontResource(androidx.ui.text.font.FontFamily fontFamily);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.font.FontFamily? pendingFontFamily = null, androidx.ui.text.font.FontFamily? failedFontFamily = null);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.text.Typeface> loadFontResource(androidx.ui.text.font.FontFamily fontFamily, androidx.ui.text.Typeface? pendingTypeface = null, androidx.ui.text.Typeface? failedTypeface = null);
-  }
-
-  public final class ImageResourcesKt {
-    method public static androidx.ui.graphics.ImageAsset imageResource(@DrawableRes int id);
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.ImageAsset> loadImageResource(int id, androidx.ui.graphics.ImageAsset? pendingImage = null, androidx.ui.graphics.ImageAsset? failedImage = null);
-  }
-
-  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public LoadedResource(T! resource);
-  }
-
-  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
-    ctor public PendingResource(T? resource);
-  }
-
-  public final class PrimitiveResourcesKt {
-    method public static boolean booleanResource(@BoolRes int id);
-    method public static float dimensionResource(@DimenRes int id);
-    method public static int[] integerArrayResource(@ArrayRes int id);
-    method public static int integerResource(@IntegerRes int id);
-  }
-
-  public abstract sealed class Resource<T> {
-    method public final T? getResource();
-  }
-
-  public final class ResourcesKt {
-  }
-
-  public final class StringResourcesKt {
-    method public static String![] stringArrayResource(@ArrayRes int id);
-    method public static String stringResource(@StringRes int id);
-    method public static String stringResource(@StringRes int id, java.lang.Object... formatArgs);
-  }
-
-  public final class VectorResourcesKt {
-    method public static androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
-    method public static androidx.ui.graphics.vector.VectorAsset vectorResource(@DrawableRes int id);
-  }
-
-}
-
-package androidx.ui.semantics {
-
-  public final class SemanticsKt {
-    method public static void Semantics(boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
-  }
-
-  public final class SemanticsPropertiesKt {
-    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.unit.Px,? super androidx.ui.unit.Px,kotlin.Unit> action);
-    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityRangeInfo getAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static java.util.List<androidx.ui.semantics.CustomAccessibilityAction> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
-    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
-    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-    method public static void setAccessibilityValueRange(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityRangeInfo p);
-    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.CustomAccessibilityAction> p);
-    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
-    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
-    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.unit.Px,androidx.ui.unit.Px,kotlin.Unit>> p);
-    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
-  }
-
-}
-
-package androidx.ui.tooling {
-
-  public final class InspectionModeKt {
-    method public static androidx.compose.ProvidableAmbient<java.lang.Boolean> getInspectionMode();
-  }
-
-}
-
-package androidx.ui.viewinterop {
-
-  public final class ComposedViewKt {
-    method public static void AndroidView(@LayoutRes int resId, kotlin.jvm.functions.Function1<? super android.view.View,kotlin.Unit> postInflationCallback = { _ ->  });
-    method public static void AndroidView(android.view.View view);
-  }
-
-}
-
diff --git a/ui/ui-framework/build.gradle b/ui/ui-framework/build.gradle
deleted file mode 100644
index 25a564b..0000000
--- a/ui/ui-framework/build.gradle
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import androidx.build.LibraryGroups
-import androidx.build.LibraryVersions
-import androidx.build.Publish
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-import static androidx.build.dependencies.DependenciesKt.*
-// TODO(mount): Make this platform-independent after making ui-platform multi-platform
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
-}
-
-dependencies {
-    kotlinPlugin project(path: ":compose:compose-compiler")
-    implementation(KOTLIN_STDLIB)
-
-    // TODO: Non-Kotlin dependency, move to Android-specific code
-    implementation "androidx.core:core:1.0.2"
-    implementation "androidx.lifecycle:lifecycle-runtime:2.3.0-alpha01"
-    api "androidx.activity:activity:1.2.0-alpha02"
-
-    implementation project(":compose:compose-runtime")
-    api project(":ui:ui-core")
-    implementation project(":ui:ui-platform")
-    api project(":ui:ui-text-core")
-    implementation project(":ui:ui-util")
-    implementation project(":ui:ui-vector")
-    implementation project(":ui:ui-saved-instance-state")
-    api project(":ui:ui-animation-core")
-
-    testImplementation(ANDROIDX_TEST_RULES)
-    testImplementation(ANDROIDX_TEST_RUNNER)
-    testImplementation(JUNIT)
-    testImplementation(MOCKITO_CORE)
-    testImplementation(TRUTH)
-    testImplementation MOCKITO_KOTLIN, {
-        exclude group: 'org.mockito' // to keep control on the mockito version
-    }
-
-    androidTestImplementation project(":ui:ui-test")
-    androidTestImplementation project(":ui:ui-test-font")
-    androidTestImplementation(ANDROIDX_TEST_RULES)
-    androidTestImplementation(ANDROIDX_TEST_RUNNER)
-    androidTestImplementation(JUNIT)
-    androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(TRUTH)
-    androidTestImplementation(ESPRESSO_CORE)
-    androidTestImplementation MOCKITO_KOTLIN, {
-        exclude group: 'org.mockito' // to keep control on the mockito version
-    }
-    androidTestImplementation project(":ui:ui-layout")
-}
-
-androidx {
-    name = "AndroidX UI Framework"
-    publish = Publish.SNAPSHOT_AND_RELEASE
-    mavenVersion = LibraryVersions.UI
-    mavenGroup = LibraryGroups.UI
-    inceptionYear = "2019"
-    description = "AndroidX UI kernel classes for building up all other components."
-}
-
-tasks.withType(KotlinCompile).configureEach {
-    kotlinOptions {
-        useIR = true
-    }
-}
-
-android {
-    buildTypes {
-        debug {
-            testCoverageEnabled = false // Breaks Kotlin compiler.
-        }
-    }
-}
\ No newline at end of file
diff --git a/ui/ui-framework/samples/build.gradle b/ui/ui-framework/samples/build.gradle
deleted file mode 100644
index e322408..0000000
--- a/ui/ui-framework/samples/build.gradle
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-import static androidx.build.dependencies.DependenciesKt.*
-
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
-}
-
-dependencies {
-    kotlinPlugin project(path: ":compose:compose-compiler")
-
-    implementation(KOTLIN_STDLIB)
-
-    implementation project(":annotation:annotation-sampled")
-
-    implementation project(":compose:compose-runtime")
-    implementation project(":ui:ui-framework")
-    implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-core")
-}
-
-android {
-    tasks.withType(KotlinCompile).configureEach {
-        kotlinOptions {
-            useIR = true
-        }
-    }
-}
diff --git a/ui/ui-framework/samples/src/main/AndroidManifest.xml b/ui/ui-framework/samples/src/main/AndroidManifest.xml
deleted file mode 100644
index 74527227..0000000
--- a/ui/ui-framework/samples/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--
-  Copyright 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<manifest package="androidx.ui.framework.samples" />
\ No newline at end of file
diff --git a/ui/ui-framework/src/main/AndroidManifest.xml b/ui/ui-framework/src/main/AndroidManifest.xml
deleted file mode 100644
index 6656af7..0000000
--- a/ui/ui-framework/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<manifest package="androidx.ui.framework" />
diff --git a/ui/ui-framework/src/main/java/androidx/ui/semantics/SemanticsProperties.kt b/ui/ui-framework/src/main/java/androidx/ui/semantics/SemanticsProperties.kt
deleted file mode 100644
index 7f071da..0000000
--- a/ui/ui-framework/src/main/java/androidx/ui/semantics/SemanticsProperties.kt
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package androidx.ui.semantics
-
-import androidx.ui.unit.Px
-
-var SemanticsPropertyReceiver.accessibilityLabel by SemanticsProperties.AccessibilityLabel
-
-var SemanticsPropertyReceiver.accessibilityValue by SemanticsProperties.AccessibilityValue
-
-var SemanticsPropertyReceiver.accessibilityValueRange
-        by SemanticsProperties.AccessibilityRangeInfo
-
-var SemanticsPropertyReceiver.enabled by SemanticsProperties.Enabled
-
-var SemanticsPropertyReceiver.hidden by SemanticsProperties.Hidden
-
-// var SemanticsPropertyReceiver.textDirection by SemanticsProperties.TextDirection
-
-var SemanticsPropertyReceiver.onClick by SemanticsActions.OnClick
-
-var SemanticsPropertyReceiver.ScrollTo by SemanticsActions.ScrollTo
-
-fun SemanticsPropertyReceiver.onClick(label: String? = null, action: () -> Unit) {
-    this[SemanticsActions.OnClick] = AccessibilityAction(label, action)
-}
-
-fun SemanticsPropertyReceiver.ScrollTo(label: String? = null, action: (x: Px, y: Px) -> Unit) {
-    this[SemanticsActions.ScrollTo] = AccessibilityAction(label, action)
-}
-
-var SemanticsPropertyReceiver.customActions by SemanticsActions.CustomActions
-
-// TODO(b/138172781): Move to FoundationSemanticsProperties.kt
-var SemanticsPropertyReceiver.testTag by SemanticsProperties.TestTag
-
-// TODO(b/138173613): Use this for merging labels
-/*
-
-    /**
-    * U+202A LEFT-TO-RIGHT EMBEDDING
-    *
-    * Treat the following text as embedded left-to-right.
-    *
-    * Use [PDF] to end the embedding.
-    */
-    private const val LRE = "\u202A"
-
-    /**
-     * U+202B RIGHT-TO-LEFT EMBEDDING
-     *
-     * Treat the following text as embedded right-to-left.
-     *
-     * Use [PDF] to end the embedding.
-     */
-    private const val RLE = "\u202B"
-
-    /**
-     * U+202C POP DIRECTIONAL FORMATTING
-     *
-     * End the scope of the last [LRE], [RLE], [RLO], or [LRO].
-     */
-    private const val PDF = "\u202C"
-
-private fun concatStrings(
-    thisString: String?,
-    otherString: String?,
-    thisTextDirection: TextDirection?,
-    otherTextDirection: TextDirection?
-): String? {
-    if (otherString.isNullOrEmpty())
-        return thisString
-    var nestedLabel = otherString
-    if (thisTextDirection != otherTextDirection && otherTextDirection != null) {
-        nestedLabel = when (otherTextDirection) {
-            TextDirection.Rtl -> "${RLE}$nestedLabel${PDF}"
-            TextDirection.Ltr -> "${LRE}$nestedLabel${PDF}"
-        }
-    }
-    if (thisString.isNullOrEmpty())
-        return nestedLabel
-    return "$thisString\n$nestedLabel"
-}
-*/
diff --git a/ui/ui-graphics/api/0.1.0-dev11.txt b/ui/ui-graphics/api/0.1.0-dev11.txt
index 8b672ec..70e10c2 100644
--- a/ui/ui-graphics/api/0.1.0-dev11.txt
+++ b/ui/ui-graphics/api/0.1.0-dev11.txt
@@ -111,7 +111,7 @@
   }
 
   public interface Canvas {
-    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default void clipRect(androidx.ui.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left, float top, float right, float bottom, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void concat(androidx.ui.graphics.vectormath.Matrix4 matrix4);
@@ -718,7 +718,7 @@
 
 package androidx.ui.graphics.painter {
 
-  public final class CanvasScope {
+  @androidx.ui.graphics.painter.CanvasScopeMarker public final class CanvasScope {
     ctor public CanvasScope();
     method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public kotlin.Unit? drawArc-_aGsT6c(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft = Offset.zero, long size = this.size, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.painter.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
@@ -753,15 +753,37 @@
   }
 
   public final class CanvasScopeKt {
-    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? clipRect-2CUYwUY(androidx.ui.graphics.painter.CanvasScope, long topLeft = Offset.zero, long size = this.size, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipRect(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline kotlin.Unit? drawCanvas(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float dx, float dy = dx, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float dx = 0.0f, float dy = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotate(androidx.ui.graphics.painter.CanvasScope, float degrees, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotateRad(androidx.ui.graphics.painter.CanvasScope, float radians, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float dx, float dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? withTransform(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> drawBlock);
+  }
+
+  @kotlin.DslMarker public @interface CanvasScopeMarker {
+  }
+
+  @androidx.ui.graphics.painter.CanvasScopeMarker public interface CanvasTransform {
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public default long getCenter();
+    method public long getSize();
+    method public void inset(float left, float top, float right, float bottom);
+    method public void rotate(float degrees, float pivotX = center.dx, float pivotY = center.dy);
+    method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy);
+    method public void translate(float left = 0.0f, float top = 0.0f);
+    property public default long center;
+    property public abstract long size;
+  }
+
+  public final class CanvasTransformKt {
+    method public static inline void inset(androidx.ui.graphics.painter.CanvasTransform, float dx = 0.0f, float dy = 0.0f);
+    method public static inline void rotateRad(androidx.ui.graphics.painter.CanvasTransform, float radians, float pivotX = center.dx, float pivotY = center.dy);
   }
 
   public final class ColorPainter extends androidx.ui.graphics.painter.Painter {
diff --git a/ui/ui-graphics/api/current.txt b/ui/ui-graphics/api/current.txt
index 8b672ec..70e10c2 100644
--- a/ui/ui-graphics/api/current.txt
+++ b/ui/ui-graphics/api/current.txt
@@ -111,7 +111,7 @@
   }
 
   public interface Canvas {
-    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default void clipRect(androidx.ui.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left, float top, float right, float bottom, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void concat(androidx.ui.graphics.vectormath.Matrix4 matrix4);
@@ -718,7 +718,7 @@
 
 package androidx.ui.graphics.painter {
 
-  public final class CanvasScope {
+  @androidx.ui.graphics.painter.CanvasScopeMarker public final class CanvasScope {
     ctor public CanvasScope();
     method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public kotlin.Unit? drawArc-_aGsT6c(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft = Offset.zero, long size = this.size, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.painter.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
@@ -753,15 +753,37 @@
   }
 
   public final class CanvasScopeKt {
-    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? clipRect-2CUYwUY(androidx.ui.graphics.painter.CanvasScope, long topLeft = Offset.zero, long size = this.size, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipRect(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline kotlin.Unit? drawCanvas(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float dx, float dy = dx, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float dx = 0.0f, float dy = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotate(androidx.ui.graphics.painter.CanvasScope, float degrees, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotateRad(androidx.ui.graphics.painter.CanvasScope, float radians, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float dx, float dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? withTransform(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> drawBlock);
+  }
+
+  @kotlin.DslMarker public @interface CanvasScopeMarker {
+  }
+
+  @androidx.ui.graphics.painter.CanvasScopeMarker public interface CanvasTransform {
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public default long getCenter();
+    method public long getSize();
+    method public void inset(float left, float top, float right, float bottom);
+    method public void rotate(float degrees, float pivotX = center.dx, float pivotY = center.dy);
+    method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy);
+    method public void translate(float left = 0.0f, float top = 0.0f);
+    property public default long center;
+    property public abstract long size;
+  }
+
+  public final class CanvasTransformKt {
+    method public static inline void inset(androidx.ui.graphics.painter.CanvasTransform, float dx = 0.0f, float dy = 0.0f);
+    method public static inline void rotateRad(androidx.ui.graphics.painter.CanvasTransform, float radians, float pivotX = center.dx, float pivotY = center.dy);
   }
 
   public final class ColorPainter extends androidx.ui.graphics.painter.Painter {
diff --git a/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev11.txt
index 8b672ec..70e10c2 100644
--- a/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-graphics/api/public_plus_experimental_0.1.0-dev11.txt
@@ -111,7 +111,7 @@
   }
 
   public interface Canvas {
-    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default void clipRect(androidx.ui.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left, float top, float right, float bottom, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void concat(androidx.ui.graphics.vectormath.Matrix4 matrix4);
@@ -718,7 +718,7 @@
 
 package androidx.ui.graphics.painter {
 
-  public final class CanvasScope {
+  @androidx.ui.graphics.painter.CanvasScopeMarker public final class CanvasScope {
     ctor public CanvasScope();
     method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public kotlin.Unit? drawArc-_aGsT6c(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft = Offset.zero, long size = this.size, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.painter.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
@@ -753,15 +753,37 @@
   }
 
   public final class CanvasScopeKt {
-    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? clipRect-2CUYwUY(androidx.ui.graphics.painter.CanvasScope, long topLeft = Offset.zero, long size = this.size, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipRect(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline kotlin.Unit? drawCanvas(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float dx, float dy = dx, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float dx = 0.0f, float dy = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotate(androidx.ui.graphics.painter.CanvasScope, float degrees, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotateRad(androidx.ui.graphics.painter.CanvasScope, float radians, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float dx, float dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? withTransform(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> drawBlock);
+  }
+
+  @kotlin.DslMarker public @interface CanvasScopeMarker {
+  }
+
+  @androidx.ui.graphics.painter.CanvasScopeMarker public interface CanvasTransform {
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public default long getCenter();
+    method public long getSize();
+    method public void inset(float left, float top, float right, float bottom);
+    method public void rotate(float degrees, float pivotX = center.dx, float pivotY = center.dy);
+    method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy);
+    method public void translate(float left = 0.0f, float top = 0.0f);
+    property public default long center;
+    property public abstract long size;
+  }
+
+  public final class CanvasTransformKt {
+    method public static inline void inset(androidx.ui.graphics.painter.CanvasTransform, float dx = 0.0f, float dy = 0.0f);
+    method public static inline void rotateRad(androidx.ui.graphics.painter.CanvasTransform, float radians, float pivotX = center.dx, float pivotY = center.dy);
   }
 
   public final class ColorPainter extends androidx.ui.graphics.painter.Painter {
diff --git a/ui/ui-graphics/api/public_plus_experimental_current.txt b/ui/ui-graphics/api/public_plus_experimental_current.txt
index 8b672ec..70e10c2 100644
--- a/ui/ui-graphics/api/public_plus_experimental_current.txt
+++ b/ui/ui-graphics/api/public_plus_experimental_current.txt
@@ -111,7 +111,7 @@
   }
 
   public interface Canvas {
-    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default void clipRect(androidx.ui.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left, float top, float right, float bottom, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void concat(androidx.ui.graphics.vectormath.Matrix4 matrix4);
@@ -718,7 +718,7 @@
 
 package androidx.ui.graphics.painter {
 
-  public final class CanvasScope {
+  @androidx.ui.graphics.painter.CanvasScopeMarker public final class CanvasScope {
     ctor public CanvasScope();
     method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public kotlin.Unit? drawArc-_aGsT6c(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft = Offset.zero, long size = this.size, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.painter.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
@@ -753,15 +753,37 @@
   }
 
   public final class CanvasScopeKt {
-    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? clipRect-2CUYwUY(androidx.ui.graphics.painter.CanvasScope, long topLeft = Offset.zero, long size = this.size, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipRect(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline kotlin.Unit? drawCanvas(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float dx, float dy = dx, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float dx = 0.0f, float dy = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotate(androidx.ui.graphics.painter.CanvasScope, float degrees, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotateRad(androidx.ui.graphics.painter.CanvasScope, float radians, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float dx, float dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? withTransform(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> drawBlock);
+  }
+
+  @kotlin.DslMarker public @interface CanvasScopeMarker {
+  }
+
+  @androidx.ui.graphics.painter.CanvasScopeMarker public interface CanvasTransform {
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public default long getCenter();
+    method public long getSize();
+    method public void inset(float left, float top, float right, float bottom);
+    method public void rotate(float degrees, float pivotX = center.dx, float pivotY = center.dy);
+    method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy);
+    method public void translate(float left = 0.0f, float top = 0.0f);
+    property public default long center;
+    property public abstract long size;
+  }
+
+  public final class CanvasTransformKt {
+    method public static inline void inset(androidx.ui.graphics.painter.CanvasTransform, float dx = 0.0f, float dy = 0.0f);
+    method public static inline void rotateRad(androidx.ui.graphics.painter.CanvasTransform, float radians, float pivotX = center.dx, float pivotY = center.dy);
   }
 
   public final class ColorPainter extends androidx.ui.graphics.painter.Painter {
diff --git a/ui/ui-graphics/api/restricted_0.1.0-dev11.txt b/ui/ui-graphics/api/restricted_0.1.0-dev11.txt
index 8b672ec..70e10c2 100644
--- a/ui/ui-graphics/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-graphics/api/restricted_0.1.0-dev11.txt
@@ -111,7 +111,7 @@
   }
 
   public interface Canvas {
-    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default void clipRect(androidx.ui.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left, float top, float right, float bottom, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void concat(androidx.ui.graphics.vectormath.Matrix4 matrix4);
@@ -718,7 +718,7 @@
 
 package androidx.ui.graphics.painter {
 
-  public final class CanvasScope {
+  @androidx.ui.graphics.painter.CanvasScopeMarker public final class CanvasScope {
     ctor public CanvasScope();
     method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public kotlin.Unit? drawArc-_aGsT6c(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft = Offset.zero, long size = this.size, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.painter.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
@@ -753,15 +753,37 @@
   }
 
   public final class CanvasScopeKt {
-    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? clipRect-2CUYwUY(androidx.ui.graphics.painter.CanvasScope, long topLeft = Offset.zero, long size = this.size, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipRect(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline kotlin.Unit? drawCanvas(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float dx, float dy = dx, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float dx = 0.0f, float dy = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotate(androidx.ui.graphics.painter.CanvasScope, float degrees, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotateRad(androidx.ui.graphics.painter.CanvasScope, float radians, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float dx, float dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? withTransform(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> drawBlock);
+  }
+
+  @kotlin.DslMarker public @interface CanvasScopeMarker {
+  }
+
+  @androidx.ui.graphics.painter.CanvasScopeMarker public interface CanvasTransform {
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public default long getCenter();
+    method public long getSize();
+    method public void inset(float left, float top, float right, float bottom);
+    method public void rotate(float degrees, float pivotX = center.dx, float pivotY = center.dy);
+    method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy);
+    method public void translate(float left = 0.0f, float top = 0.0f);
+    property public default long center;
+    property public abstract long size;
+  }
+
+  public final class CanvasTransformKt {
+    method public static inline void inset(androidx.ui.graphics.painter.CanvasTransform, float dx = 0.0f, float dy = 0.0f);
+    method public static inline void rotateRad(androidx.ui.graphics.painter.CanvasTransform, float radians, float pivotX = center.dx, float pivotY = center.dy);
   }
 
   public final class ColorPainter extends androidx.ui.graphics.painter.Painter {
diff --git a/ui/ui-graphics/api/restricted_current.txt b/ui/ui-graphics/api/restricted_current.txt
index 8b672ec..70e10c2 100644
--- a/ui/ui-graphics/api/restricted_current.txt
+++ b/ui/ui-graphics/api/restricted_current.txt
@@ -111,7 +111,7 @@
   }
 
   public interface Canvas {
-    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public default void clipRect(androidx.ui.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void clipRect(float left, float top, float right, float bottom, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
     method public void concat(androidx.ui.graphics.vectormath.Matrix4 matrix4);
@@ -718,7 +718,7 @@
 
 package androidx.ui.graphics.painter {
 
-  public final class CanvasScope {
+  @androidx.ui.graphics.painter.CanvasScopeMarker public final class CanvasScope {
     ctor public CanvasScope();
     method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.PxSize size, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public kotlin.Unit? drawArc-_aGsT6c(androidx.ui.graphics.Brush brush, float startAngle, float sweepAngle, boolean useCenter, long topLeft = Offset.zero, long size = this.size, @FloatRange(from=0.0, to=1.0) float alpha = 1.0f, androidx.ui.graphics.painter.DrawStyle style = Fill, androidx.ui.graphics.ColorFilter? colorFilter = null, androidx.ui.graphics.BlendMode blendMode = DefaultBlendMode);
@@ -753,15 +753,37 @@
   }
 
   public final class CanvasScopeKt {
-    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? clipRect-2CUYwUY(androidx.ui.graphics.painter.CanvasScope, long topLeft = Offset.zero, long size = this.size, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipPath(androidx.ui.graphics.painter.CanvasScope, androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? clipRect(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline kotlin.Unit? drawCanvas(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline void inset(androidx.ui.graphics.painter.CanvasScope, float dx, float dy = dx, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float left, float top, float right, float bottom, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? inset(androidx.ui.graphics.painter.CanvasScope, float dx = 0.0f, float dy = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotate(androidx.ui.graphics.painter.CanvasScope, float degrees, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
     method public static inline androidx.ui.graphics.Canvas? rotateRad(androidx.ui.graphics.painter.CanvasScope, float radians, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
-    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float dx, float dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? scale(androidx.ui.graphics.painter.CanvasScope, float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? translate(androidx.ui.graphics.painter.CanvasScope, float left = 0.0f, float top = 0.0f, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> block);
+    method public static inline androidx.ui.graphics.Canvas? withTransform(androidx.ui.graphics.painter.CanvasScope, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasTransform,kotlin.Unit> transformBlock, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.painter.CanvasScope,kotlin.Unit> drawBlock);
+  }
+
+  @kotlin.DslMarker public @interface CanvasScopeMarker {
+  }
+
+  @androidx.ui.graphics.painter.CanvasScopeMarker public interface CanvasTransform {
+    method public void clipPath(androidx.ui.graphics.Path path, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void clipRect(float left = 0.0f, float top = 0.0f, float right = size.width, float bottom = size.height, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public default long getCenter();
+    method public long getSize();
+    method public void inset(float left, float top, float right, float bottom);
+    method public void rotate(float degrees, float pivotX = center.dx, float pivotY = center.dy);
+    method public void scale(float scaleX, float scaleY = scaleX, float pivotX = center.dx, float pivotY = center.dy);
+    method public void translate(float left = 0.0f, float top = 0.0f);
+    property public default long center;
+    property public abstract long size;
+  }
+
+  public final class CanvasTransformKt {
+    method public static inline void inset(androidx.ui.graphics.painter.CanvasTransform, float dx = 0.0f, float dy = 0.0f);
+    method public static inline void rotateRad(androidx.ui.graphics.painter.CanvasTransform, float radians, float pivotX = center.dx, float pivotY = center.dy);
   }
 
   public final class ColorPainter extends androidx.ui.graphics.painter.Painter {
diff --git a/ui/ui-graphics/samples/src/main/java/androidx/ui/graphics/samples/CanvasScopeSample.kt b/ui/ui-graphics/samples/src/main/java/androidx/ui/graphics/samples/CanvasScopeSample.kt
index 52d556a..0bc2870 100644
--- a/ui/ui-graphics/samples/src/main/java/androidx/ui/graphics/samples/CanvasScopeSample.kt
+++ b/ui/ui-graphics/samples/src/main/java/androidx/ui/graphics/samples/CanvasScopeSample.kt
@@ -17,12 +17,14 @@
 package androidx.ui.graphics.samples
 
 import androidx.annotation.Sampled
+import androidx.ui.geometry.Offset
 import androidx.ui.graphics.Canvas
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.ImageAsset
 import androidx.ui.graphics.painter.CanvasScope
 import androidx.ui.graphics.painter.inset
 import androidx.ui.graphics.painter.rotate
+import androidx.ui.graphics.painter.withTransform
 import androidx.ui.unit.Px
 import androidx.ui.unit.PxSize
 
@@ -60,4 +62,35 @@
             }
         }
     }
+}
+
+@Sampled
+fun canvasScopeBatchedTransformSample() {
+    val pxSize = PxSize(Px(300.0f), Px(300.0f))
+    val imageAsset = ImageAsset(
+        pxSize.width.value.toInt(),
+        pxSize.height.value.toInt()
+    )
+
+    // create a Canvas to draw contents into the ImageAsset
+    val targetCanvas = Canvas(imageAsset)
+
+    CanvasScope().draw(targetCanvas, pxSize) { // CanvasScope
+        inset(20.0f) {
+            // Use withTransform to batch multiple transformations for 1 or more drawing calls
+            // that are to be drawn.
+            // This is more efficient than issuing nested translation, rotation and scaling
+            // calls as the internal state is saved once before and after instead of multiple
+            // times between each transformation if done individually
+            withTransform({
+                translate(10.0f, 12.0f)
+                rotate(45.0f)
+                scale(2.0f, 0.5f)
+            }) {
+                drawRect(Color.Cyan)
+                drawCircle(Color.Blue)
+            }
+            drawRect(Color.Red, alpha = 0.25f)
+        }
+    }
 }
\ No newline at end of file
diff --git a/ui/ui-graphics/src/androidTest/java/androidx/ui/graphics/painter/CanvasScopeTest.kt b/ui/ui-graphics/src/androidTest/java/androidx/ui/graphics/painter/CanvasScopeTest.kt
index eea60cd..0128312 100644
--- a/ui/ui-graphics/src/androidTest/java/androidx/ui/graphics/painter/CanvasScopeTest.kt
+++ b/ui/ui-graphics/src/androidTest/java/androidx/ui/graphics/painter/CanvasScopeTest.kt
@@ -461,4 +461,79 @@
         assertEquals(Color.Red, pixelMap[50, 51])
         assertEquals(Color.Red, pixelMap[75, 76])
     }
+
+    @Test
+    fun testBatchTransformEquivalent() {
+        val width = 200
+        val height = 200
+        val size = PxSize(Px(width.toFloat()), Px(height.toFloat()))
+        val imageAsset1 = ImageAsset(width, height)
+        CanvasScope().draw(Canvas(imageAsset1), size) {
+            drawRect(color = Color.Red)
+            inset(20.0f, 12.0f, 10.0f, 8.0f) {
+                scale(2.0f, 0.5f) {
+                    rotate(-45.0f, 0.0f, 0.0f) {
+                        translate(7.0f, 9.0f) {
+                            drawRect(
+                                size = Size(100.0f, 100.0f),
+                                color = Color.Blue
+                            )
+                        }
+                    }
+                }
+            }
+        }
+
+        val imageAsset2 = ImageAsset(width, height)
+        val saveCountCanvas = SaveCountCanvas(Canvas(imageAsset2))
+        CanvasScope().draw(saveCountCanvas, size) {
+            drawRect(color = Color.Red)
+            withTransform({
+                inset(20.0f, 12.0f, 10.0f, 8.0f)
+                scale(2.0f, 0.5f)
+                rotate(-45.0f, 0.0f, 0.0f)
+                translate(7.0f, 9.0f)
+            }) {
+                // 2 saves at this point, the initial draw call does a save
+                // as well as the withTransform call
+                assertEquals(2, saveCountCanvas.saveCount)
+                drawRect(
+                    size = Size(100.0f, 100.0f),
+                    color = Color.Blue
+                )
+            }
+
+            // Restore to the save count of the initial CanvasScope.draw call
+            assertEquals(1, saveCountCanvas.saveCount)
+        }
+
+        val pixelMap1 = imageAsset1.toPixelMap()
+        val pixelMap2 = imageAsset2.toPixelMap()
+        assertEquals(pixelMap1.width, pixelMap2.width)
+        assertEquals(pixelMap1.height, pixelMap2.height)
+        assertEquals(pixelMap1.stride, pixelMap2.stride)
+        assertEquals(pixelMap1.bufferOffset, pixelMap2.bufferOffset)
+        for (x in 0 until pixelMap1.width) {
+            for (y in 0 until pixelMap1.height) {
+                assertEquals("coordinate: " + x + ", " + y + " expected: " +
+                        pixelMap1[x, y] + " actual: " + pixelMap2[x, y],
+                    pixelMap1[x, y],
+                    pixelMap2[x, y]
+                )
+            }
+        }
+    }
+
+    class SaveCountCanvas(val canvas: Canvas) : Canvas by canvas {
+
+        var saveCount: Int = 0
+
+        override fun save() {
+            saveCount++
+        }
+
+        override fun restore() {
+            saveCount--
+        }
+    }
 }
\ No newline at end of file
diff --git a/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidCanvas.kt b/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidCanvas.kt
index c962b99..0a4d1a5 100644
--- a/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidCanvas.kt
+++ b/ui/ui-graphics/src/main/java/androidx/ui/graphics/AndroidCanvas.kt
@@ -154,20 +154,23 @@
     @SuppressWarnings("deprecation")
     override fun clipRect(left: Float, top: Float, right: Float, bottom: Float, clipOp: ClipOp) {
         @Suppress("DEPRECATION")
-        when (clipOp) {
-            ClipOp.intersect -> internalCanvas.clipRect(left, top, right, bottom)
-            ClipOp.difference -> internalCanvas.clipRect(left, top, right, bottom,
-                android.graphics.Region.Op.DIFFERENCE)
-        }
+        internalCanvas.clipRect(left, top, right, bottom, clipOp.toRegionOp())
     }
 
     /**
      * @see Canvas.clipPath
      */
-    override fun clipPath(path: Path) {
-        internalCanvas.clipPath(path.asAndroidPath())
+    override fun clipPath(path: Path, clipOp: ClipOp) {
+        @Suppress("DEPRECATION")
+        internalCanvas.clipPath(path.asAndroidPath(), clipOp.toRegionOp())
     }
 
+    fun ClipOp.toRegionOp(): android.graphics.Region.Op =
+        when (this) {
+            ClipOp.difference -> android.graphics.Region.Op.DIFFERENCE
+            else -> android.graphics.Region.Op.INTERSECT
+        }
+
     /**
      * @see Canvas.drawLine
      */
diff --git a/ui/ui-graphics/src/main/java/androidx/ui/graphics/Canvas.kt b/ui/ui-graphics/src/main/java/androidx/ui/graphics/Canvas.kt
index 6e54b10..0156d0c 100644
--- a/ui/ui-graphics/src/main/java/androidx/ui/graphics/Canvas.kt
+++ b/ui/ui-graphics/src/main/java/androidx/ui/graphics/Canvas.kt
@@ -386,7 +386,7 @@
      * in incorrect blending at the clip boundary. See [saveLayer] for a
      * discussion of how to address that.
      */
-    fun clipPath(path: Path)
+    fun clipPath(path: Path, clipOp: ClipOp = ClipOp.intersect)
 
     /**
      * Draws a line between the given points using the given paint. The line is
diff --git a/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScope.kt b/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScope.kt
index 9c149ac..436a40a 100644
--- a/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScope.kt
+++ b/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScope.kt
@@ -33,8 +33,6 @@
 import androidx.ui.graphics.PointMode
 import androidx.ui.graphics.StrokeCap
 import androidx.ui.graphics.StrokeJoin
-import androidx.ui.graphics.scale
-import androidx.ui.graphics.rotate
 import androidx.ui.graphics.vectormath.degrees
 import androidx.ui.unit.Px
 import androidx.ui.unit.PxSize
@@ -49,6 +47,7 @@
  * @param left number of pixels to inset the left drawing bound
  * @param top number of pixels to inset the top drawing bound
  * @param right number of pixels to inset the right drawing bound
+ * @param bottom number of pixels to inset the bottom drawing bound
  * @param block lambda that is called to issue drawing commands within the inset coordinate space
  */
 inline fun CanvasScope.inset(
@@ -57,11 +56,11 @@
     right: Float,
     bottom: Float,
     block: CanvasScope.() -> Unit
-) {
-    doInset(left, top, right, bottom)
-    block()
-    doInset(-left, -top, -right, -bottom)
-}
+) = canvas?.apply {
+        transform.inset(left, top, right, bottom)
+        block()
+        transform.inset(-left, -top, -right, -bottom)
+    }
 
 /**
  * Convenience method modifies the [CanvasScope] bounds to inset both left and right bounds by
@@ -74,23 +73,26 @@
  * @param block lambda that is called to issue additional drawing commands within the modified
  * coordinate space
  */
-inline fun CanvasScope.inset(dx: Float, dy: Float = dx, block: CanvasScope.() -> Unit) =
+inline fun CanvasScope.inset(dx: Float = 0.0f, dy: Float = 0.0f, block: CanvasScope.() -> Unit) =
     inset(dx, dy, dx, dy, block)
 
 /**
  * Translate the coordinate space by the given delta in pixels in both the x and y coordinates
  * respectively
  *
- * @param dx Pixels to translate the coordinate space in the x-axis
- * @param dy Pixels to translate the coordinate space in the y-axis
+ * @param left Pixels to translate the coordinate space in the x-axis
+ * @param top Pixels to translate the coordinate space in the y-axis
  * @param block lambda that is called to issue drawing commands within the
  * translated coordinate space
  */
-inline fun CanvasScope.translate(dx: Float, dy: Float, block: CanvasScope.() -> Unit) =
-    canvas?.apply {
-        translate(dx, dy)
+inline fun CanvasScope.translate(
+    left: Float = 0.0f,
+    top: Float = 0.0f,
+    block: CanvasScope.() -> Unit
+) = canvas?.apply {
+        translate(left, top)
         block()
-        translate(-dx, -dy)
+        translate(-left, -top)
     }
 
 /**
@@ -99,10 +101,10 @@
  *  lambda is invoked, the rotation transformation is undone.
  *
  *  @param degrees to rotate clockwise
- *  @param pivotX The x-coord for the pivot point, defaults to the center of the coordinate space
- *  along the x-axis
- *  @param pivotY The y-coord for the pivot point, defaults to the center of the coordinate space
- *  along the y-axis
+ *  @param pivotX The x-coordinate for the pivot point, defaults to the center of the
+ *  coordinate space horizontally
+ *  @param pivotY The y-coordinate for the pivot point, defaults to the center of the
+ *  coordinate space vertically
  *  @param block lambda that is called to issue drawing commands within the rotated
  *  coordinate space
  */
@@ -111,21 +113,17 @@
     pivotX: Float = center.dx,
     pivotY: Float = center.dy,
     block: CanvasScope.() -> Unit
-) = canvas?.apply {
-        rotate(degrees, pivotX, pivotY)
-        block()
-        rotate(-degrees, pivotX, pivotY)
-    }
+) = withTransform({ rotate(degrees, pivotX, pivotY) }, block)
 
 /**
  * Add a rotation (in radians clockwise) to the current transform at the given pivot point.
  * The pivot coordinate remains unchanged by the rotation transformation
  *
  * @param radians to rotate clockwise
- * @param pivotX The x-coord for the pivot point, defaults to the center of the coordinate space
- * along the x-axis
- * @param pivotY The y-coord for the pivot point, defaults to the center of the coordinate space
- * along the y-axis
+ *  @param pivotX The x-coordinate for the pivot point, defaults to the center of the
+ *  coordinate space horizontally
+ *  @param pivotY The y-coordinate for the pivot point, defaults to the center of the
+ *  coordinate space vertically
  * @param block lambda that is called to issue drawing commands within the rotated
  * coordinate space
  */
@@ -134,7 +132,7 @@
     pivotX: Float = center.dx,
     pivotY: Float = center.dy,
     block: CanvasScope.() -> Unit
-) = rotate(degrees(radians), pivotX, pivotY, block)
+) = withTransform({ rotate(degrees(radians), pivotX, pivotY) }, block)
 
 /**
  * Add an axis-aligned scale to the current transform, scaling by the first
@@ -147,68 +145,58 @@
  *
  * @param scaleX The amount to scale in X
  * @param scaleY The amount to scale in Y
- * @param pivotX The x-coord for the pivot point
- * @param pivotY The y-coord for the pivot point
+ * @param pivotX The x-coordinate for the pivot point, defaults to the center of the
+ * coordinate space horizontally
+ * @param pivotY The y-coordinate for the pivot point, defaults to the center of the
+ * coordinate space vertically
  * @param block lambda used to issue drawing commands within the scaled coordinate space
  */
 inline fun CanvasScope.scale(
     scaleX: Float,
-    scaleY: Float,
+    scaleY: Float = scaleX,
     pivotX: Float = center.dx,
     pivotY: Float = center.dy,
     block: CanvasScope.() -> Unit
-) = canvas?.apply {
-        save()
-        scale(scaleX, scaleY, pivotX, pivotY)
-        block()
-        restore()
-    }
+) = withTransform({ scale(scaleX, scaleY, pivotX, pivotY) }, block)
 
 /**
  * Reduces the clip region to the intersection of the current clip and the
- * given rectangle indicated by the given [Offset] from the top left as well as
- * the dimensions of the rectangle represeted by [size].
+ * given rectangle indicated by the given left, top, right and bottom bounds.
  *
  * Use [ClipOp.difference] to subtract the provided rectangle from the
  * current clip.
  *
- * @param topLeft Offset from the origin of the current translation to clip, defaults to 0, 0
- * @param size Dimensions of the rectangle to clip, defaults to the current size of the drawing
- * environment
+ * @param left Left bound of the rectangle to clip
+ * @param top Top bound of the rectangle to clip
+ * @param right Right bound ofthe rectangle to clip
+ * @param bottom Bottom bound of the rectangle to clip
  * @param clipOp Clipping operation to conduct on the given bounds, defaults to [ClipOp.intersect]
  * @param block Lambda callback with this CanvasScope as a receiver scope to issue drawing commands
  * within the provided clip
  */
 inline fun CanvasScope.clipRect(
-    topLeft: Offset = Offset.zero,
-    size: Size = this.size,
+    left: Float = 0.0f,
+    top: Float = 0.0f,
+    right: Float = size.width,
+    bottom: Float = size.height,
     clipOp: ClipOp = ClipOp.intersect,
     block: CanvasScope.() -> Unit
-) = canvas?.apply {
-        save()
-        clipRect(
-            topLeft.dx,
-            topLeft.dy,
-            topLeft.dx + size.width,
-            topLeft.dy + size.height,
-            clipOp
-        )
-        block()
-        restore()
-    }
+) = withTransform({ clipRect(left, top, right, bottom, clipOp) }, block)
 
 /**
  * Reduces the clip region to the intersection of the current clip and the
  * given rounded rectangle.
  *
+ * @param path Shape to clip drawing content within
+ * @param clipOp Clipping operation to conduct on the given bounds, defaults to [ClipOp.intersect]
+ * @param block Lambda callback with this CanvasScope as a receiver scope to issue drawing commands
+ * within the provided clip
  */
-inline fun CanvasScope.clipPath(path: Path, block: CanvasScope.() -> Unit) =
-    canvas?.apply {
-        save()
-        clipPath(path)
-        block()
-        restore()
-    }
+inline fun CanvasScope.clipPath(
+    path: Path,
+    clipOp: ClipOp = ClipOp.intersect,
+    block: CanvasScope.() -> Unit
+) = withTransform({ clipPath(path, clipOp) }, block)
 
 /**
  * Provides access to draw directly with the underlying [Canvas] along with the current
@@ -223,6 +211,32 @@
     }
 
 /**
+ * Perform 1 or more transformations and execute drawing commands with the specified transformations
+ * applied. After this call is complete, the transformation before this call was made is restored
+ *
+ * @sample androidx.ui.graphics.samples.canvasScopeBatchedTransformSample
+ *
+ * @param transformBlock Callback invoked to issue transformations to be made before the drawing
+ * operations are issued
+ * @param drawBlock Callback invoked to issue drawing operations after the transformations are
+ * applied
+ */
+inline fun CanvasScope.withTransform(
+    transformBlock: CanvasTransform.() -> Unit,
+    drawBlock: CanvasScope.() -> Unit
+) = canvas?.apply {
+        // Transformation can include inset calls which change the drawing area
+        // so cache the previous size before the transformation is done
+        // and reset it afterwards
+        val previousSize = size
+        save()
+        transformBlock(transform)
+        drawBlock()
+        restore()
+        setSize(previousSize)
+    }
+
+/**
  * Creates a scoped drawing environment with the provided [Canvas]. This provides a
  * declarative, stateless API to draw shapes and paths without requiring
  * consumers to maintain underlying [Canvas] state information.
@@ -234,10 +248,65 @@
  *
  * @sample androidx.ui.graphics.samples.canvasScopeSample
  */
+@CanvasScopeMarker
 class CanvasScope {
 
     @PublishedApi internal var canvas: Canvas? = null
 
+    @PublishedApi internal val transform = object : CanvasTransform {
+
+        override val size: Size
+            get() = this@CanvasScope.size
+
+        override val center: Offset
+            get() = this@CanvasScope.center
+
+        override fun inset(left: Float, top: Float, right: Float, bottom: Float) {
+            this@CanvasScope.canvas?.let {
+                val updatedSize = size - Offset(left + right, top + bottom)
+                require(updatedSize.width > 0 && updatedSize.height > 0) {
+                    "Width and height must be greater than zero"
+                }
+                this@CanvasScope.setSize(updatedSize)
+                it.translate(left, top)
+            }
+        }
+
+        override fun clipRect(
+            left: Float,
+            top: Float,
+            right: Float,
+            bottom: Float,
+            clipOp: ClipOp
+        ) {
+            this@CanvasScope.canvas?.clipRect(left, top, right, bottom, clipOp)
+        }
+
+        override fun clipPath(path: Path, clipOp: ClipOp) {
+            this@CanvasScope.canvas?.clipPath(path, clipOp)
+        }
+
+        override fun translate(left: Float, top: Float) {
+            this@CanvasScope.canvas?.translate(left, top)
+        }
+
+        override fun rotate(degrees: Float, pivotX: Float, pivotY: Float) {
+            this@CanvasScope.canvas?.apply {
+                translate(pivotX, pivotY)
+                rotate(degrees)
+                translate(-pivotX, -pivotY)
+            }
+        }
+
+        override fun scale(scaleX: Float, scaleY: Float, pivotX: Float, pivotY: Float) {
+            this@CanvasScope.canvas?.apply {
+                translate(pivotX, pivotY)
+                scale(scaleX, scaleY)
+                translate(-pivotX, -pivotY)
+            }
+        }
+    }
+
     /**
      * Internal [Paint] used only for drawing filled in shapes with a color or gradient
      * This is lazily allocated on the first drawing command that uses the [Fill] [DrawStyle]
@@ -853,15 +922,6 @@
     }
 
     /**
-     * Configures the current size of the drawing environment, this is configured as part of
-     * the [draw] call
-     */
-    @PublishedApi
-    internal fun setSize(size: Size) {
-        this.size = size
-    }
-
-    /**
      * Internal published APIs used to support inline scoped extension methods
      * on CanvasScope directly, without exposing the underlying stateful APIs
      * to conduct the transformations themselves as inline methods require
@@ -869,20 +929,13 @@
      */
 
     /**
-     * Simultaneously translate the coordinate space by [left] and [top] as well as modify the
-     * width and height of the current painting area. This method reduces the width by Left +
-     * right as well as height by (top + bottom)
+     * Configures the current size of the drawing environment, this is configured as part of
+     * the [draw] call
      */
     @PublishedApi
-    internal fun doInset(left: Float, top: Float, right: Float, bottom: Float) =
-        canvas?.let {
-            val updatedSize = size - Offset(left + right, top + bottom)
-            require(updatedSize.width > 0 && updatedSize.height > 0) {
-                "Width and height must be greater than zero"
-            }
-            setSize(updatedSize)
-            it.translate(left, top)
-        }
+    internal fun setSize(size: Size) {
+        this.size = size
+    }
 
     /**
      * Selects the appropriate [Paint] object based on the style
diff --git a/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScopeMarker.kt b/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScopeMarker.kt
new file mode 100644
index 0000000..9eb6caf
--- /dev/null
+++ b/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasScopeMarker.kt
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.graphics.painter
+
+/**
+ * DSL marker used to distinguish between drawing operations and canvas transform operations
+ */
+@DslMarker
+annotation class CanvasScopeMarker
\ No newline at end of file
diff --git a/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasTransform.kt b/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasTransform.kt
new file mode 100644
index 0000000..ebca20b
--- /dev/null
+++ b/ui/ui-graphics/src/main/java/androidx/ui/graphics/painter/CanvasTransform.kt
@@ -0,0 +1,158 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.graphics.painter
+
+import androidx.ui.geometry.Offset
+import androidx.ui.geometry.Size
+import androidx.ui.graphics.ClipOp
+import androidx.ui.graphics.Path
+import androidx.ui.graphics.vectormath.degrees
+
+/**
+ * Convenience method modifies the [CanvasTransform] bounds to inset both left and right bounds by
+ * [dx] as well as the top and bottom by [dy]. If only [dx] is provided, the same inset is applied
+ * to all 4 bounds
+ *
+ * @param dx number of pixels to inset both left and right bounds
+ * @param dy Optional number of pixels to inset both top and bottom bounds, by default this also
+ * insets the top and bottom by [dx] pixels
+ */
+@Suppress("NOTHING_TO_INLINE")
+inline fun CanvasTransform.inset(dx: Float = 0.0f, dy: Float = 0.0f) = inset(dx, dy, dx, dy)
+
+/**
+ * Add a rotation (in radians clockwise) to the current transform at the given pivot point.
+ * The pivot coordinate remains unchanged by the rotation transformation
+ *
+ * @param radians to rotate clockwise
+ * @param pivotX The x-coordinate for the pivot point, defaults to the center of the
+ * coordinate space horizontally
+ * @param pivotY The y-coordinate for the pivot point, defaults to the center of the
+ * coordinate space vertically
+ */
+@Suppress("NOTHING_TO_INLINE")
+inline fun CanvasTransform.rotateRad(
+    radians: Float,
+    pivotX: Float = center.dx,
+    pivotY: Float = center.dy
+) = rotate(degrees(radians), pivotX, pivotY)
+
+/**
+ * Defines transformations that can be applied to a drawing environment
+ */
+@CanvasScopeMarker
+interface CanvasTransform {
+
+    /**
+     * Get the current size of the CanvasTransform
+     */
+    val size: Size
+
+    /**
+     * Convenience method to obtain the current position of the current transformation
+     */
+    val center: Offset
+        get() = Offset(size.width / 2, size.height / 2)
+
+    /**
+     * Simultaneously translate the coordinate space by [left] and [top] as well
+     * as modify the dimensions of the current painting area. This provides a callback to issue more
+     * drawing instructions within the modified coordinate space. This method
+     * modifies the width to be equivalent to width - (left + right) as well as
+     * height to height - (top + bottom)
+     *
+     * @param left number of pixels to inset the left drawing bound
+     * @param top number of pixels to inset the top drawing bound
+     * @param right number of pixels to inset the right drawing bound
+     * @param bottom number of pixels to inset the bottom drawing bound
+     */
+    fun inset(left: Float, top: Float, right: Float, bottom: Float)
+
+    /**
+     * Reduces the clip region to the intersection of the current clip and the
+     * given rectangle indicated by the given left, top, right and bottom bounds
+     *
+     * Use [ClipOp.difference] to subtract the provided rectangle from the
+     * current clip.
+     *
+     * @param left Left bound of the rectangle to clip
+     * @param top Top bound of the rectangle to clip
+     * @param right Right bound ofthe rectangle to clip
+     * @param bottom Bottom bound of the rectangle to clip
+     * @param clipOp Clipping operation to perform on the given bounds
+     */
+    fun clipRect(
+        left: Float = 0.0f,
+        top: Float = 0.0f,
+        right: Float = size.width,
+        bottom: Float = size.height,
+        clipOp: ClipOp = ClipOp.intersect
+    )
+
+    /**
+     * Reduces the clip region to the intersection of the current clip and the
+     * given rounded rectangle.
+     *
+     * @param path Shape to clip drawing content within
+     * @param clipOp Clipping operation to conduct on the given bounds, defaults to [ClipOp.intersect]
+     */
+    fun clipPath(path: Path, clipOp: ClipOp = ClipOp.intersect)
+
+    /**
+     * Translate the coordinate space by the given delta in pixels in both the x and y coordinates
+     * respectively
+     *
+     * @param left Pixels to translate the coordinate space in the x-axis
+     * @param top Pixels to translate the coordinate space in the y-axis
+     */
+    fun translate(left: Float = 0.0f, top: Float = 0.0f)
+
+    /**
+     *  Add a rotation (in degrees clockwise) to the current transform at the given pivot point.
+     *  The pivot coordinate remains unchanged by the rotation transformation.
+     *
+     *  @param degrees to rotate clockwise
+     *  @param pivotX The x-coordinate for the pivot point, defaults to the center of the
+     *  coordinate space horizontally
+     *  @param pivotY The y-coordinate for the pivot point, defaults to the center of the
+     *  coordinate space vertically
+     */
+    fun rotate(degrees: Float, pivotX: Float = center.dx, pivotY: Float = center.dy)
+
+    /**
+     * Add an axis-aligned scale to the current transform, scaling by the first
+     * argument in the horizontal direction and the second in the vertical
+     * direction at the given pivot coordinate. The pivot coordinate remains
+     * unchanged by the scale transformation.
+     *
+     * If [scaleY] is unspecified, [scaleX] will be used for the scale in both
+     * directions.
+     *
+     * @param scaleX The amount to scale in X
+     * @param scaleY The amount to scale in Y
+     * @param pivotX The x-coordinate for the pivot point, defaults to the center of the
+     * coordinate space horizontally
+     * @param pivotY The y-coordinate for the pivot point, defaults to the center of the
+     * coordinate space vertically
+     */
+    fun scale(
+        scaleX: Float,
+        scaleY: Float = scaleX,
+        pivotX: Float = center.dx,
+        pivotY: Float = center.dy
+    )
+}
\ No newline at end of file
diff --git a/ui/ui-layout/api/0.1.0-dev11.txt b/ui/ui-layout/api/0.1.0-dev11.txt
index 242d47f..25a55a8 100644
--- a/ui/ui-layout/api/0.1.0-dev11.txt
+++ b/ui/ui-layout/api/0.1.0-dev11.txt
@@ -374,6 +374,7 @@
   }
 
   public final class LayoutSizeKt {
+    method public static androidx.ui.core.Modifier defaultMinSizeConstraints-qJOR85M(androidx.ui.core.Modifier, float minWidth = Dp.Unspecified, float minHeight = Dp.Unspecified);
     method public static androidx.ui.core.Modifier fillMaxHeight(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxSize(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxWidth(androidx.ui.core.Modifier);
diff --git a/ui/ui-layout/api/current.txt b/ui/ui-layout/api/current.txt
index 242d47f..25a55a8 100644
--- a/ui/ui-layout/api/current.txt
+++ b/ui/ui-layout/api/current.txt
@@ -374,6 +374,7 @@
   }
 
   public final class LayoutSizeKt {
+    method public static androidx.ui.core.Modifier defaultMinSizeConstraints-qJOR85M(androidx.ui.core.Modifier, float minWidth = Dp.Unspecified, float minHeight = Dp.Unspecified);
     method public static androidx.ui.core.Modifier fillMaxHeight(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxSize(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxWidth(androidx.ui.core.Modifier);
diff --git a/ui/ui-layout/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-layout/api/public_plus_experimental_0.1.0-dev11.txt
index 242d47f..25a55a8 100644
--- a/ui/ui-layout/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-layout/api/public_plus_experimental_0.1.0-dev11.txt
@@ -374,6 +374,7 @@
   }
 
   public final class LayoutSizeKt {
+    method public static androidx.ui.core.Modifier defaultMinSizeConstraints-qJOR85M(androidx.ui.core.Modifier, float minWidth = Dp.Unspecified, float minHeight = Dp.Unspecified);
     method public static androidx.ui.core.Modifier fillMaxHeight(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxSize(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxWidth(androidx.ui.core.Modifier);
diff --git a/ui/ui-layout/api/public_plus_experimental_current.txt b/ui/ui-layout/api/public_plus_experimental_current.txt
index 242d47f..25a55a8 100644
--- a/ui/ui-layout/api/public_plus_experimental_current.txt
+++ b/ui/ui-layout/api/public_plus_experimental_current.txt
@@ -374,6 +374,7 @@
   }
 
   public final class LayoutSizeKt {
+    method public static androidx.ui.core.Modifier defaultMinSizeConstraints-qJOR85M(androidx.ui.core.Modifier, float minWidth = Dp.Unspecified, float minHeight = Dp.Unspecified);
     method public static androidx.ui.core.Modifier fillMaxHeight(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxSize(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxWidth(androidx.ui.core.Modifier);
diff --git a/ui/ui-layout/api/restricted_0.1.0-dev11.txt b/ui/ui-layout/api/restricted_0.1.0-dev11.txt
index 242d47f..25a55a8 100644
--- a/ui/ui-layout/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-layout/api/restricted_0.1.0-dev11.txt
@@ -374,6 +374,7 @@
   }
 
   public final class LayoutSizeKt {
+    method public static androidx.ui.core.Modifier defaultMinSizeConstraints-qJOR85M(androidx.ui.core.Modifier, float minWidth = Dp.Unspecified, float minHeight = Dp.Unspecified);
     method public static androidx.ui.core.Modifier fillMaxHeight(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxSize(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxWidth(androidx.ui.core.Modifier);
diff --git a/ui/ui-layout/api/restricted_current.txt b/ui/ui-layout/api/restricted_current.txt
index 242d47f..25a55a8 100644
--- a/ui/ui-layout/api/restricted_current.txt
+++ b/ui/ui-layout/api/restricted_current.txt
@@ -374,6 +374,7 @@
   }
 
   public final class LayoutSizeKt {
+    method public static androidx.ui.core.Modifier defaultMinSizeConstraints-qJOR85M(androidx.ui.core.Modifier, float minWidth = Dp.Unspecified, float minHeight = Dp.Unspecified);
     method public static androidx.ui.core.Modifier fillMaxHeight(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxSize(androidx.ui.core.Modifier);
     method public static androidx.ui.core.Modifier fillMaxWidth(androidx.ui.core.Modifier);
diff --git a/ui/ui-layout/build.gradle b/ui/ui-layout/build.gradle
index 5e92a73..8b61f4e 100644
--- a/ui/ui-layout/build.gradle
+++ b/ui/ui-layout/build.gradle
@@ -38,7 +38,6 @@
 
     implementation project(":compose:compose-runtime")
     api project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-text")
     implementation(CONSTRAINT_LAYOUT_CORE)
 
@@ -47,7 +46,6 @@
     testImplementation(JUNIT)
 
     androidTestImplementation project(":ui:ui-foundation")
-    androidTestImplementation project(":ui:ui-platform")
     androidTestImplementation project(":ui:ui-test")
 
     androidTestImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-layout/integration-tests/layout-demos/build.gradle b/ui/ui-layout/integration-tests/layout-demos/build.gradle
index adc7fa9..c046cdb 100644
--- a/ui/ui-layout/integration-tests/layout-demos/build.gradle
+++ b/ui/ui-layout/integration-tests/layout-demos/build.gradle
@@ -33,7 +33,6 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-layout:samples")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt b/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt
index 2abcbdc..dea2f38 100644
--- a/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt
+++ b/ui/ui-layout/integration-tests/layout-demos/src/main/java/androidx/ui/layout/demos/RtlDemo.kt
@@ -155,14 +155,12 @@
 
 @Composable
 private fun LayoutWithConstraints(modifier: Modifier = Modifier, text: String) {
-    WithConstraints(modifier) { constraints, direction ->
-        with(DensityAmbient.current) {
-            val w = (constraints.maxWidth / 3).toDp()
-            val h = (constraints.maxHeight / 2).toDp()
-            val color = if (direction == LayoutDirection.Ltr) Color.Red else Color.Magenta
-            Stack(Modifier.preferredSize(w, h).drawBackground(color)) {
-                Text(text, Modifier.gravity(Alignment.Center))
-            }
+    WithConstraints(modifier) {
+        val w = maxWidth / 3
+        val h = maxHeight / 2
+        val color = if (layoutDirection == LayoutDirection.Ltr) Color.Red else Color.Magenta
+        Stack(Modifier.preferredSize(w, h).drawBackground(color)) {
+            Text(text, Modifier.gravity(Alignment.Center))
         }
     }
 }
diff --git a/ui/ui-layout/samples/build.gradle b/ui/ui-layout/samples/build.gradle
index 797c971..fd8a2c3 100644
--- a/ui/ui-layout/samples/build.gradle
+++ b/ui/ui-layout/samples/build.gradle
@@ -33,7 +33,6 @@
     implementation project(":annotation:annotation-sampled")
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-foundation")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-layout/samples/src/main/java/androidx/ui/layout/samples/SizeModifierSample.kt b/ui/ui-layout/samples/src/main/java/androidx/ui/layout/samples/SizeModifierSample.kt
index d1dc16b..8bc1645 100644
--- a/ui/ui-layout/samples/src/main/java/androidx/ui/layout/samples/SizeModifierSample.kt
+++ b/ui/ui-layout/samples/src/main/java/androidx/ui/layout/samples/SizeModifierSample.kt
@@ -26,6 +26,7 @@
 import androidx.ui.graphics.Color
 import androidx.ui.layout.Stack
 import androidx.ui.layout.aspectRatio
+import androidx.ui.layout.defaultMinSizeConstraints
 import androidx.ui.layout.fillMaxHeight
 import androidx.ui.layout.fillMaxSize
 import androidx.ui.layout.fillMaxWidth
@@ -35,6 +36,7 @@
 import androidx.ui.layout.preferredSizeIn
 import androidx.ui.layout.preferredWidth
 import androidx.ui.layout.size
+import androidx.ui.layout.sizeIn
 import androidx.ui.layout.width
 import androidx.ui.layout.wrapContentHeight
 import androidx.ui.layout.wrapContentSize
@@ -183,4 +185,25 @@
             .preferredWidth(20.dp),
         backgroundColor = Color.Blue
     )
-}
\ No newline at end of file
+}
+
+@Sampled
+@Composable
+fun DefaultMinSizeConstraintsSample() {
+    @Composable
+    fun DefaultMinBox(modifier: Modifier = Modifier) {
+        Box(
+            modifier.defaultMinSizeConstraints(minWidth = 100.dp, minHeight = 100.dp),
+            backgroundColor = Color.Blue
+        )
+    }
+    // This will be a 10.dp x 10.dp blue box. Because we are not providing any min constraints
+    // to the DefaultMinBox, defaultMinSizeConstraints will apply its min constraints.
+    DefaultMinBox()
+    // This will be a 5.dp x 5.dp blue box. Because we are providing min constraints
+    // to the DefaultMinBox, defaultMinSizeConstraints will not apply its min constraints.
+    DefaultMinBox(Modifier.sizeIn(minWidth = 50.dp, minHeight = 50.dp))
+    // Note that if DefaultMinBox used sizeIn or preferredSizeIn rather than
+    // defaultMinSizeConstraints, the min constraints would have been applied with either
+    // of the above usages.
+}
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignmentLineTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignmentLineTest.kt
index af40a0d..a2a18bc 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignmentLineTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/AlignmentLineTest.kt
@@ -313,7 +313,7 @@
             Stack {
                 ConstrainedBox(DpConstraints(minHeight = minHeight)) {
                     AlignmentLineOffset(testLine) {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             Assert.assertEquals(minHeight.toIntPx(), constraints.minHeight)
                             latch.countDown()
                         }
@@ -333,7 +333,7 @@
             Stack {
                 ConstrainedBox(DpConstraints(minWidth = minWidth)) {
                     AlignmentLineOffset(testLine) {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             Assert.assertEquals(minWidth.toIntPx(), constraints.minWidth)
                             latch.countDown()
                         }
@@ -353,7 +353,7 @@
             Stack {
                 ConstrainedBox(DpConstraints(minHeight = minHeight)) {
                     CenterAlignmentLine(testLine) {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             Assert.assertEquals(minHeight.toIntPx(), constraints.minHeight)
                             latch.countDown()
                         }
@@ -373,7 +373,7 @@
             Stack {
                 ConstrainedBox(DpConstraints(minWidth = minWidth)) {
                     CenterAlignmentLine(testLine) {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             Assert.assertEquals(minWidth.toIntPx(), constraints.minWidth)
                             latch.countDown()
                         }
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutSizeTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutSizeTest.kt
index 0ca341b0..d085107 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutSizeTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/LayoutSizeTest.kt
@@ -23,6 +23,10 @@
 import androidx.ui.core.Constraints
 import androidx.ui.core.Layout
 import androidx.ui.core.LayoutCoordinates
+import androidx.ui.core.LayoutDirection
+import androidx.ui.core.LayoutModifier
+import androidx.ui.core.Measurable
+import androidx.ui.core.MeasureScope
 import androidx.ui.core.Modifier
 import androidx.ui.core.Ref
 import androidx.ui.core.WithConstraints
@@ -32,6 +36,7 @@
 import androidx.ui.layout.Row
 import androidx.ui.layout.Stack
 import androidx.ui.layout.aspectRatio
+import androidx.ui.layout.defaultMinSizeConstraints
 import androidx.ui.layout.fillMaxHeight
 import androidx.ui.layout.fillMaxSize
 import androidx.ui.layout.fillMaxWidth
@@ -568,6 +573,65 @@
     }
 
     @Test
+    fun testDefaultMinSizeConstraints() = with(density) {
+        val latch = CountDownLatch(3)
+        show {
+            // Constraints are applied.
+            Layout(
+                {},
+                Modifier.wrapContentSize()
+                    .sizeIn(maxWidth = 30.dp, maxHeight = 40.dp)
+                    .defaultMinSizeConstraints(minWidth = 10.dp, minHeight = 20.dp)
+            ) { _, constraints, _ ->
+                assertEquals(10.dp.toIntPx(), constraints.minWidth)
+                assertEquals(20.dp.toIntPx(), constraints.minHeight)
+                assertEquals(30.dp.toIntPx(), constraints.maxWidth)
+                assertEquals(40.dp.toIntPx(), constraints.maxHeight)
+                latch.countDown()
+                layout(0.ipx, 0.ipx) {}
+            }
+            // Constraints are not applied.
+            Layout(
+                {},
+                Modifier.sizeIn(
+                    minWidth = 10.dp,
+                    minHeight = 20.dp,
+                    maxWidth = 100.dp,
+                    maxHeight = 110.dp
+                ).defaultMinSizeConstraints(
+                    minWidth = 50.dp,
+                    minHeight = 50.dp
+                )
+            ) { _, constraints, _ ->
+                assertEquals(10.dp.toIntPx(), constraints.minWidth)
+                assertEquals(20.dp.toIntPx(), constraints.minHeight)
+                assertEquals(100.dp.toIntPx(), constraints.maxWidth)
+                assertEquals(110.dp.toIntPx(), constraints.maxHeight)
+                latch.countDown()
+                layout(0.ipx, 0.ipx) {}
+            }
+            // Defaults values are not changing.
+            Layout(
+                {},
+                Modifier.sizeIn(
+                    minWidth = 10.dp,
+                    minHeight = 20.dp,
+                    maxWidth = 100.dp,
+                    maxHeight = 110.dp
+                ).defaultMinSizeConstraints()
+            ) { _, constraints, _ ->
+                assertEquals(10.dp.toIntPx(), constraints.minWidth)
+                assertEquals(20.dp.toIntPx(), constraints.minHeight)
+                assertEquals(100.dp.toIntPx(), constraints.maxWidth)
+                assertEquals(110.dp.toIntPx(), constraints.maxHeight)
+                latch.countDown()
+                layout(0.ipx, 0.ipx) {}
+            }
+        }
+        assertTrue(latch.await(1, TimeUnit.SECONDS))
+    }
+
+    @Test
     fun testMinWidthModifier_hasCorrectIntrinsicMeasurements() = with(density) {
         testIntrinsics(@Composable {
             Container(Modifier.preferredWidthIn(minWidth = 10.dp)) {
@@ -897,6 +961,36 @@
         verifyIntrinsicMeasurements(Modifier.fillMaxSize())
     }
 
+    @Test
+    fun testDefaultMinSizeConstraintsModifier_hasCorrectIntrinsicMeasurements() = with(density) {
+        testIntrinsics(@Composable {
+            Container(Modifier.defaultMinSizeConstraints(40.dp, 50.dp)) {
+                Container(Modifier.aspectRatio(1f)) { }
+            }
+        }) { minIntrinsicWidth, minIntrinsicHeight, _, _ ->
+            // Min width.
+            assertEquals(40.dp.toIntPx(), minIntrinsicWidth(0.dp.toIntPx()))
+            assertEquals(40.dp.toIntPx(), minIntrinsicWidth(35.dp.toIntPx()))
+            assertEquals(55.dp.toIntPx(), minIntrinsicWidth(55.dp.toIntPx()))
+            assertEquals(40.dp.toIntPx(), minIntrinsicWidth(IntPx.Infinity))
+            // Min height.
+            assertEquals(50.dp.toIntPx(), minIntrinsicHeight(0.dp.toIntPx()))
+            assertEquals(50.dp.toIntPx(), minIntrinsicHeight(35.dp.toIntPx()))
+            assertEquals(55.dp.toIntPx(), minIntrinsicHeight(55.dp.toIntPx()))
+            assertEquals(50.dp.toIntPx(), minIntrinsicHeight(IntPx.Infinity))
+            // Max width.
+            assertEquals(40.dp.toIntPx(), minIntrinsicWidth(0.dp.toIntPx()))
+            assertEquals(40.dp.toIntPx(), minIntrinsicWidth(35.dp.toIntPx()))
+            assertEquals(55.dp.toIntPx(), minIntrinsicWidth(55.dp.toIntPx()))
+            assertEquals(40.dp.toIntPx(), minIntrinsicWidth(IntPx.Infinity))
+            // Max height.
+            assertEquals(50.dp.toIntPx(), minIntrinsicHeight(0.dp.toIntPx()))
+            assertEquals(50.dp.toIntPx(), minIntrinsicHeight(35.dp.toIntPx()))
+            assertEquals(55.dp.toIntPx(), minIntrinsicHeight(55.dp.toIntPx()))
+            assertEquals(50.dp.toIntPx(), minIntrinsicHeight(IntPx.Infinity))
+        }
+    }
+
     private fun getSize(modifier: Modifier = Modifier): IntPxSize {
         val width = 100.dp
         val height = 80.dp
@@ -934,7 +1028,7 @@
         val latch = CountDownLatch(1)
         show {
             Layout({
-                WithConstraints(modifier) { constraints, _ ->
+                WithConstraints(modifier) {
                     assertEquals(expectedConstraints, constraints)
                     latch.countDown()
                 }
diff --git a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/RowColumnTest.kt b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/RowColumnTest.kt
index fa42e1d..cc7a346 100644
--- a/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/RowColumnTest.kt
+++ b/ui/ui-layout/src/androidTest/java/androidx/ui/layout/test/RowColumnTest.kt
@@ -1576,11 +1576,11 @@
             WithInfiniteConstraints {
                 ConstrainedBox(DpConstraints(minWidth = rowMinWidth)) {
                     Row {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             assertEquals(Constraints(), constraints)
                             FixedSizeLayout(noWeightChildWidth.toIntPx(), 0.ipx, mapOf())
                         }
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             assertEquals(Constraints(), constraints)
                             FixedSizeLayout(noWeightChildWidth.toIntPx(), 0.ipx, mapOf())
                         }
@@ -1621,7 +1621,7 @@
                     )
                 ) {
                     Row {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             assertEquals(
                                 Constraints(
                                     maxWidth = availableWidth.toIntPx(),
@@ -1631,7 +1631,7 @@
                             )
                             FixedSizeLayout(childWidth.toIntPx(), childHeight.toIntPx(), mapOf())
                         }
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             assertEquals(
                                 Constraints(
                                     maxWidth = availableWidth.toIntPx() - childWidth.toIntPx(),
@@ -2026,11 +2026,11 @@
                 WithInfiniteConstraints {
                     ConstrainedBox(DpConstraints(minHeight = columnMinHeight)) {
                         Column {
-                            WithConstraints { constraints, _ ->
+                            WithConstraints {
                                 assertEquals(Constraints(), constraints)
                                 FixedSizeLayout(0.ipx, noWeightChildHeight.toIntPx(), mapOf())
                             }
-                            WithConstraints { constraints, _ ->
+                            WithConstraints {
                                 assertEquals(Constraints(), constraints)
                                 FixedSizeLayout(0.ipx, noWeightChildHeight.toIntPx(), mapOf())
                             }
@@ -2070,7 +2070,7 @@
                     )
                 ) {
                     Column {
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             assertEquals(
                                 Constraints(
                                     maxWidth = availableWidth.toIntPx(),
@@ -2080,7 +2080,7 @@
                             )
                             FixedSizeLayout(childWidth.toIntPx(), childHeight.toIntPx(), mapOf())
                         }
-                        WithConstraints { constraints, _ ->
+                        WithConstraints {
                             assertEquals(
                                 Constraints(
                                     maxWidth = availableWidth.toIntPx(),
diff --git a/ui/ui-layout/src/main/java/androidx/ui/layout/LayoutSize.kt b/ui/ui-layout/src/main/java/androidx/ui/layout/LayoutSize.kt
index 16ed22b..d1371d1 100644
--- a/ui/ui-layout/src/main/java/androidx/ui/layout/LayoutSize.kt
+++ b/ui/ui-layout/src/main/java/androidx/ui/layout/LayoutSize.kt
@@ -334,6 +334,21 @@
 fun Modifier.wrapContentSize(align: Alignment = Alignment.Center) =
     this + AlignmentModifier(align, Direction.Both)
 
+/**
+ * Constrain the size of the wrapped layout only when it would be otherwise unconstrained:
+ * the [minWidth] and [minHeight] constraints are only applied when the incoming corresponding
+ * constraint is `0.ipx`.
+ * The modifier can be used, for example, to define a default min size of a component,
+ * while still allowing it to be overidden with smaller min sizes across usages.
+ *
+ * Example usage:
+ * @sample androidx.ui.layout.samples.DefaultMinSizeConstraintsSample
+ */
+fun Modifier.defaultMinSizeConstraints(
+    minWidth: Dp = Dp.Unspecified,
+    minHeight: Dp = Dp.Unspecified
+) = this + UnspecifiedConstraintsModifier(minWidth, minHeight)
+
 private data class FillModifier(private val direction: Direction) : LayoutModifier {
     override fun MeasureScope.measure(
         measurable: Measurable,
@@ -487,6 +502,68 @@
     }
 }
 
+    private data class UnspecifiedConstraintsModifier(
+        val minWidth: Dp = Dp.Unspecified,
+        val minHeight: Dp = Dp.Unspecified
+    ) : LayoutModifier {
+        override fun MeasureScope.measure(
+            measurable: Measurable,
+            constraints: Constraints,
+            layoutDirection: LayoutDirection
+        ): MeasureScope.MeasureResult {
+        val wrappedConstraints = Constraints(
+            if (minWidth != Dp.Unspecified && constraints.minWidth == 0.ipx) {
+                minWidth.toIntPx()
+            } else {
+                constraints.minWidth
+            },
+            constraints.maxWidth,
+            if (minHeight != Dp.Unspecified && constraints.minHeight == 0.ipx) {
+                minHeight.toIntPx()
+            } else {
+                constraints.minHeight
+            },
+            constraints.maxHeight
+        )
+        val placeable = measurable.measure(wrappedConstraints)
+        return layout(placeable.width, placeable.height) {
+            placeable.place(0.ipx, 0.ipx)
+        }
+    }
+
+    override fun IntrinsicMeasureScope.minIntrinsicWidth(
+        measurable: IntrinsicMeasurable,
+        height: IntPx,
+        layoutDirection: LayoutDirection
+    ) = measurable.minIntrinsicWidth(height).coerceAtLeast(
+        if (minWidth != Dp.Unspecified) minWidth.toIntPx() else 0.ipx
+    )
+
+    override fun IntrinsicMeasureScope.maxIntrinsicWidth(
+        measurable: IntrinsicMeasurable,
+        height: IntPx,
+        layoutDirection: LayoutDirection
+    ) = measurable.maxIntrinsicWidth(height).coerceAtLeast(
+        if (minWidth != Dp.Unspecified) minWidth.toIntPx() else 0.ipx
+    )
+
+    override fun IntrinsicMeasureScope.minIntrinsicHeight(
+        measurable: IntrinsicMeasurable,
+        width: IntPx,
+        layoutDirection: LayoutDirection
+    ) = measurable.minIntrinsicHeight(width).coerceAtLeast(
+        if (minHeight != Dp.Unspecified) minHeight.toIntPx() else 0.ipx
+    )
+
+    override fun IntrinsicMeasureScope.maxIntrinsicHeight(
+        measurable: IntrinsicMeasurable,
+        width: IntPx,
+        layoutDirection: LayoutDirection
+    ) = measurable.maxIntrinsicHeight(width).coerceAtLeast(
+        if (minHeight != Dp.Unspecified) minHeight.toIntPx() else 0.ipx
+    )
+}
+
 internal enum class Direction {
     Vertical, Horizontal, Both
 }
diff --git a/ui/ui-livedata/build.gradle b/ui/ui-livedata/build.gradle
index 9312a36..8a8123d 100644
--- a/ui/ui-livedata/build.gradle
+++ b/ui/ui-livedata/build.gradle
@@ -35,7 +35,7 @@
 
     api project(":compose:compose-runtime")
     api "androidx.lifecycle:lifecycle-livedata:2.2.0"
-    implementation project(":ui:ui-framework")
+    implementation project(":ui:ui-core")
 
     androidTestImplementation project(':ui:ui-test')
     androidTestImplementation(ANDROIDX_TEST_RUNNER)
diff --git a/ui/ui-material/api/0.1.0-dev11.txt b/ui/ui-material/api/0.1.0-dev11.txt
index 6496ca1..a84875d 100644
--- a/ui/ui-material/api/0.1.0-dev11.txt
+++ b/ui/ui-material/api/0.1.0-dev11.txt
@@ -37,15 +37,19 @@
   }
 
   public final class Button {
+    method public long getDefaultDisabledBackgroundColor();
+    method public long getDefaultDisabledContentColor();
     method public androidx.ui.layout.InnerPadding getDefaultInnerPadding();
     property public final androidx.ui.layout.InnerPadding DefaultInnerPadding;
+    property public final long defaultDisabledBackgroundColor;
+    property public final long defaultDisabledContentColor;
     field public static final androidx.ui.material.Button! INSTANCE;
   }
 
   public final class ButtonKt {
-    method public static void Button-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long contentColor = contentColorFor(backgroundColor), androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void OutlinedButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void TextButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static void Button-YWYas6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, float disabledElevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long disabledBackgroundColor = Button.defaultDisabledBackgroundColor, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void OutlinedButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void TextButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
   }
 
   public final class CardKt {
@@ -268,8 +272,8 @@
   }
 
   public final class TextFieldKt {
-    method public static void FilledTextField-TsJBxJE(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method public static void FilledTextField-dv_AFIM(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-DNXa2xQ(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-tbdSW_k(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   public final class Typography {
diff --git a/ui/ui-material/api/current.txt b/ui/ui-material/api/current.txt
index 6496ca1..a84875d 100644
--- a/ui/ui-material/api/current.txt
+++ b/ui/ui-material/api/current.txt
@@ -37,15 +37,19 @@
   }
 
   public final class Button {
+    method public long getDefaultDisabledBackgroundColor();
+    method public long getDefaultDisabledContentColor();
     method public androidx.ui.layout.InnerPadding getDefaultInnerPadding();
     property public final androidx.ui.layout.InnerPadding DefaultInnerPadding;
+    property public final long defaultDisabledBackgroundColor;
+    property public final long defaultDisabledContentColor;
     field public static final androidx.ui.material.Button! INSTANCE;
   }
 
   public final class ButtonKt {
-    method public static void Button-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long contentColor = contentColorFor(backgroundColor), androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void OutlinedButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void TextButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static void Button-YWYas6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, float disabledElevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long disabledBackgroundColor = Button.defaultDisabledBackgroundColor, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void OutlinedButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void TextButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
   }
 
   public final class CardKt {
@@ -268,8 +272,8 @@
   }
 
   public final class TextFieldKt {
-    method public static void FilledTextField-TsJBxJE(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method public static void FilledTextField-dv_AFIM(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-DNXa2xQ(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-tbdSW_k(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   public final class Typography {
diff --git a/ui/ui-material/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-material/api/public_plus_experimental_0.1.0-dev11.txt
index 6496ca1..a84875d 100644
--- a/ui/ui-material/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-material/api/public_plus_experimental_0.1.0-dev11.txt
@@ -37,15 +37,19 @@
   }
 
   public final class Button {
+    method public long getDefaultDisabledBackgroundColor();
+    method public long getDefaultDisabledContentColor();
     method public androidx.ui.layout.InnerPadding getDefaultInnerPadding();
     property public final androidx.ui.layout.InnerPadding DefaultInnerPadding;
+    property public final long defaultDisabledBackgroundColor;
+    property public final long defaultDisabledContentColor;
     field public static final androidx.ui.material.Button! INSTANCE;
   }
 
   public final class ButtonKt {
-    method public static void Button-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long contentColor = contentColorFor(backgroundColor), androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void OutlinedButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void TextButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static void Button-YWYas6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, float disabledElevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long disabledBackgroundColor = Button.defaultDisabledBackgroundColor, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void OutlinedButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void TextButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
   }
 
   public final class CardKt {
@@ -268,8 +272,8 @@
   }
 
   public final class TextFieldKt {
-    method public static void FilledTextField-TsJBxJE(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method public static void FilledTextField-dv_AFIM(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-DNXa2xQ(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-tbdSW_k(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   public final class Typography {
diff --git a/ui/ui-material/api/public_plus_experimental_current.txt b/ui/ui-material/api/public_plus_experimental_current.txt
index 6496ca1..a84875d 100644
--- a/ui/ui-material/api/public_plus_experimental_current.txt
+++ b/ui/ui-material/api/public_plus_experimental_current.txt
@@ -37,15 +37,19 @@
   }
 
   public final class Button {
+    method public long getDefaultDisabledBackgroundColor();
+    method public long getDefaultDisabledContentColor();
     method public androidx.ui.layout.InnerPadding getDefaultInnerPadding();
     property public final androidx.ui.layout.InnerPadding DefaultInnerPadding;
+    property public final long defaultDisabledBackgroundColor;
+    property public final long defaultDisabledContentColor;
     field public static final androidx.ui.material.Button! INSTANCE;
   }
 
   public final class ButtonKt {
-    method public static void Button-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long contentColor = contentColorFor(backgroundColor), androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void OutlinedButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void TextButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static void Button-YWYas6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, float disabledElevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long disabledBackgroundColor = Button.defaultDisabledBackgroundColor, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void OutlinedButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void TextButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
   }
 
   public final class CardKt {
@@ -268,8 +272,8 @@
   }
 
   public final class TextFieldKt {
-    method public static void FilledTextField-TsJBxJE(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method public static void FilledTextField-dv_AFIM(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-DNXa2xQ(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-tbdSW_k(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   public final class Typography {
diff --git a/ui/ui-material/api/restricted_0.1.0-dev11.txt b/ui/ui-material/api/restricted_0.1.0-dev11.txt
index 6496ca1..a84875d 100644
--- a/ui/ui-material/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-material/api/restricted_0.1.0-dev11.txt
@@ -37,15 +37,19 @@
   }
 
   public final class Button {
+    method public long getDefaultDisabledBackgroundColor();
+    method public long getDefaultDisabledContentColor();
     method public androidx.ui.layout.InnerPadding getDefaultInnerPadding();
     property public final androidx.ui.layout.InnerPadding DefaultInnerPadding;
+    property public final long defaultDisabledBackgroundColor;
+    property public final long defaultDisabledContentColor;
     field public static final androidx.ui.material.Button! INSTANCE;
   }
 
   public final class ButtonKt {
-    method public static void Button-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long contentColor = contentColorFor(backgroundColor), androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void OutlinedButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void TextButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static void Button-YWYas6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, float disabledElevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long disabledBackgroundColor = Button.defaultDisabledBackgroundColor, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void OutlinedButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void TextButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
   }
 
   public final class CardKt {
@@ -268,8 +272,8 @@
   }
 
   public final class TextFieldKt {
-    method public static void FilledTextField-TsJBxJE(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method public static void FilledTextField-dv_AFIM(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-DNXa2xQ(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-tbdSW_k(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   public final class Typography {
diff --git a/ui/ui-material/api/restricted_current.txt b/ui/ui-material/api/restricted_current.txt
index 6496ca1..a84875d 100644
--- a/ui/ui-material/api/restricted_current.txt
+++ b/ui/ui-material/api/restricted_current.txt
@@ -37,15 +37,19 @@
   }
 
   public final class Button {
+    method public long getDefaultDisabledBackgroundColor();
+    method public long getDefaultDisabledContentColor();
     method public androidx.ui.layout.InnerPadding getDefaultInnerPadding();
     property public final androidx.ui.layout.InnerPadding DefaultInnerPadding;
+    property public final long defaultDisabledBackgroundColor;
+    property public final long defaultDisabledContentColor;
     field public static final androidx.ui.material.Button! INSTANCE;
   }
 
   public final class ButtonKt {
-    method public static void Button-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long contentColor = contentColorFor(backgroundColor), androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void OutlinedButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
-    method public static inline void TextButton-MQxsNoc(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static void Button-YWYas6U(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 2.dp, float disabledElevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = MaterialTheme.colors.primary, long disabledBackgroundColor = Button.defaultDisabledBackgroundColor, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void OutlinedButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = Border(1.dp, MaterialTheme.colors.onSurface.copy(OutlinedStrokeOpacity)), long backgroundColor = MaterialTheme.colors.surface, long contentColor = contentColorFor(backgroundColor), long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = Button.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
+    method public static inline void TextButton-5tjLhF8(kotlin.jvm.functions.Function0<kotlin.Unit> onClick, androidx.ui.core.Modifier modifier = Modifier, boolean enabled = true, float elevation = 0.dp, androidx.ui.graphics.Shape shape = small, androidx.ui.foundation.Border? border = null, long backgroundColor = Color.Transparent, long contentColor = MaterialTheme.colors.primary, long disabledContentColor = Button.defaultDisabledContentColor, androidx.ui.layout.InnerPadding padding = TextButton.DefaultInnerPadding, kotlin.jvm.functions.Function0<kotlin.Unit> text);
   }
 
   public final class CardKt {
@@ -268,8 +272,8 @@
   }
 
   public final class TextFieldKt {
-    method public static void FilledTextField-TsJBxJE(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
-    method public static void FilledTextField-dv_AFIM(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation? visualTransformation = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-DNXa2xQ(androidx.ui.foundation.TextFieldValue value, kotlin.jvm.functions.Function1<? super androidx.ui.foundation.TextFieldValue,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
+    method public static void FilledTextField-tbdSW_k(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onValueChange, kotlin.jvm.functions.Function0<kotlin.Unit> label, androidx.ui.core.Modifier modifier = Modifier, androidx.ui.text.TextStyle textStyle = currentTextStyle(), kotlin.jvm.functions.Function0<kotlin.Unit>? placeholder = null, kotlin.jvm.functions.Function0<kotlin.Unit>? leadingIcon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailingIcon = null, boolean isErrorValue = false, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, long activeColor = MaterialTheme.colors.primary, long inactiveColor = MaterialTheme.colors.onSurface, long errorColor = MaterialTheme.colors.error, long backgroundColor = MaterialTheme.colors.onSurface, androidx.ui.graphics.Shape shape = MaterialTheme.shapes.small.copy(ZeroCornerSize, ZeroCornerSize));
   }
 
   public final class Typography {
diff --git a/ui/ui-material/build.gradle b/ui/ui-material/build.gradle
index f5bd446..3ec8d5e 100644
--- a/ui/ui-material/build.gradle
+++ b/ui/ui-material/build.gradle
@@ -44,7 +44,6 @@
     api project(":ui:ui-text")
     api project(":ui:ui-animation-core")
 
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-vector")
@@ -55,7 +54,6 @@
     testImplementation(TRUTH)
 
     androidTestImplementation project(":ui:ui-material:samples")
-    androidTestImplementation project(":ui:ui-platform")
     androidTestImplementation project(":ui:ui-test")
     androidTestImplementation project(":test-screenshot")
 
diff --git a/ui/ui-material/icons/core/build.gradle b/ui/ui-material/icons/core/build.gradle
index 39069c3..5c8f1d1 100644
--- a/ui/ui-material/icons/core/build.gradle
+++ b/ui/ui-material/icons/core/build.gradle
@@ -32,7 +32,6 @@
     implementation(KOTLIN_STDLIB)
 
     api project(":ui:ui-core")
-    api project(":ui:ui-framework")
 }
 
 IconGenerationTask.registerCoreIconProject(project, android)
diff --git a/ui/ui-material/icons/extended/build.gradle b/ui/ui-material/icons/extended/build.gradle
index 49424e1..174ce2a 100644
--- a/ui/ui-material/icons/extended/build.gradle
+++ b/ui/ui-material/icons/extended/build.gradle
@@ -38,7 +38,7 @@
 
     androidTestImplementation project(":ui:ui-foundation")
     androidTestImplementation project(":ui:ui-layout")
-    androidTestImplementation project(":ui:ui-platform")
+    androidTestImplementation project(":ui:ui-core")
     androidTestImplementation project(":ui:ui-test")
 
     androidTestImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt b/ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt
index 3de92c1..cababc6 100644
--- a/ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt
+++ b/ui/ui-material/icons/extended/src/androidTest/java/androidx/ui/material/icons/test/IconComparisonTest.kt
@@ -46,6 +46,7 @@
 import androidx.ui.test.runOnUiThread
 import androidx.ui.unit.ipx
 import com.google.common.truth.Truth
+import org.junit.Ignore
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
@@ -73,6 +74,7 @@
     @get:Rule
     val composeTestRule = AndroidComposeTestRule<ComponentActivity>()
 
+    @Ignore("failing presubmit: b/155656930")
     @Test
     fun compareVectorAssets() {
         AllIcons.forEach { (property, drawableName) ->
diff --git a/ui/ui-material/integration-tests/material-demos/build.gradle b/ui/ui-material/integration-tests/material-demos/build.gradle
index ae121de..472abad 100644
--- a/ui/ui-material/integration-tests/material-demos/build.gradle
+++ b/ui/ui-material/integration-tests/material-demos/build.gradle
@@ -20,7 +20,6 @@
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-material:samples")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ButtonDemo.kt b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ButtonDemo.kt
index 3a40609..2a22e66 100644
--- a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ButtonDemo.kt
+++ b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ButtonDemo.kt
@@ -33,6 +33,7 @@
 import androidx.ui.material.Button
 import androidx.ui.material.MaterialTheme
 import androidx.ui.material.OutlinedButton
+import androidx.ui.material.TextButton
 import androidx.ui.material.samples.ButtonSample
 import androidx.ui.material.samples.IconButtonSample
 import androidx.ui.material.samples.IconToggleButtonSample
@@ -74,11 +75,19 @@
         Button(onClick = {}, backgroundColor = MaterialTheme.colors.secondary) {
             Text("Secondary Color")
         }
-        // TODO(Andrey): Disabled button has wrong bg and text color for now.
-        // Need to figure out where will we store their styling. Not a part of
-        // ColorPalette right now and specs are not clear about this.
         Button(onClick = {}, enabled = false) {
-            Text("DISABLED. TODO")
+            Text("Disabled")
+        }
+    }
+
+    Spacer(Modifier.preferredHeight(DefaultSpace))
+
+    Row(Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceEvenly) {
+        OutlinedButton(onClick = {}, enabled = false) {
+            Text("Disabled")
+        }
+        TextButton(onClick = {}, enabled = false) {
+            Text("Disabled")
         }
     }
 }
diff --git a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt
index 8c64c54..f0d423f 100644
--- a/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt
+++ b/ui/ui-material/integration-tests/material-demos/src/main/java/androidx/ui/material/demos/ColorPickerDemo.kt
@@ -95,7 +95,7 @@
         Modifier.padding(50.dp)
             .fillMaxSize()
             .aspectRatio(1f)
-    ) { constraints, _ ->
+    ) {
         val diameter = constraints.maxWidth.value
         var position by state { PxPosition.Origin }
         val colorWheel = remember(diameter) { ColorWheel(diameter) }
diff --git a/ui/ui-material/integration-tests/material-studies/build.gradle b/ui/ui-material/integration-tests/material-studies/build.gradle
index f5a50ea..0d8f3e5 100644
--- a/ui/ui-material/integration-tests/material-studies/build.gradle
+++ b/ui/ui-material/integration-tests/material-studies/build.gradle
@@ -38,7 +38,6 @@
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-material/samples/build.gradle b/ui/ui-material/samples/build.gradle
index 8d9036a..6b225e2 100644
--- a/ui/ui-material/samples/build.gradle
+++ b/ui/ui-material/samples/build.gradle
@@ -36,7 +36,6 @@
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-material")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt b/ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
index f79a23a..36d8dd3 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
+++ b/ui/ui-material/src/androidTest/java/androidx/ui/material/ButtonTest.kt
@@ -32,11 +32,15 @@
 import androidx.ui.core.onPositioned
 import androidx.ui.foundation.Box
 import androidx.ui.foundation.Text
+import androidx.ui.foundation.contentColor
 import androidx.ui.foundation.currentTextStyle
 import androidx.ui.foundation.shape.corner.CutCornerShape
 import androidx.ui.graphics.Color
+import androidx.ui.graphics.RectangleShape
+import androidx.ui.graphics.compositeOver
 import androidx.ui.layout.Column
 import androidx.ui.layout.Stack
+import androidx.ui.layout.padding
 import androidx.ui.layout.preferredSize
 import androidx.ui.test.assertHasClickAction
 import androidx.ui.test.assertHasNoClickAction
@@ -49,7 +53,6 @@
 import androidx.ui.test.findByTag
 import androidx.ui.test.findByText
 import androidx.ui.test.runOnIdleCompose
-import androidx.ui.text.TextStyle
 import androidx.ui.unit.Dp
 import androidx.ui.unit.Px
 import androidx.ui.unit.PxPosition
@@ -75,7 +78,7 @@
     val composeTestRule = createComposeRule()
 
     @Test
-    fun buttonTest_defaultSemantics() {
+    fun defaultSemantics() {
         composeTestRule.setMaterialContent {
             Stack {
                 TestTag(tag = "myButton") {
@@ -91,7 +94,7 @@
     }
 
     @Test
-    fun buttonTest_disabledSemantics() {
+    fun disabledSemantics() {
         composeTestRule.setMaterialContent {
             Stack {
                 TestTag(tag = "myButton") {
@@ -107,7 +110,7 @@
     }
 
     @Test
-    fun buttonTest_findByTextAndClick() {
+    fun findByTextAndClick() {
         var counter = 0
         val onClick: () -> Unit = { ++counter }
         val text = "myButton"
@@ -131,7 +134,7 @@
     }
 
     @Test
-    fun buttonTest_canBeDisabled() {
+    fun canBeDisabled() {
         val tag = "myButton"
 
         composeTestRule.setMaterialContent {
@@ -156,7 +159,7 @@
     }
 
     @Test
-    fun buttonTest_ClickIsIndependentBetweenButtons() {
+    fun clickIsIndependentBetweenButtons() {
         var button1Counter = 0
         val button1OnClick: () -> Unit = { ++button1Counter }
         val button1Tag = "button1"
@@ -200,7 +203,7 @@
     }
 
     @Test
-    fun buttonTest_ButtonHeightIsFromSpec() {
+    fun buttonHeightIsFromSpec() {
         if (composeTestRule.density.fontScale > 1f) {
             // This test can be reasonable failing on the non default font scales
             // so lets skip it.
@@ -216,7 +219,7 @@
     }
 
     @Test
-    fun buttonTest_ButtonWithLargeFontSizeIsLargerThenMinHeight() {
+    fun ButtonWithLargeFontSizeIsLargerThenMinHeight() {
         val realSize: PxSize = composeTestRule.setMaterialContentAndGetPixelSize {
             Button(onClick = {}) {
                 Text(
@@ -233,7 +236,7 @@
     }
 
     @Test
-    fun buttonTest_ContainedButtonPropagateDefaultTextStyle() {
+    fun containedButtonPropagateDefaultTextStyle() {
         composeTestRule.setMaterialContent {
             Button(onClick = {}) {
                 assertThat(currentTextStyle()).isEqualTo(MaterialTheme.typography.button)
@@ -242,7 +245,7 @@
     }
 
     @Test
-    fun buttonTest_OutlinedButtonPropagateDefaultTextStyle() {
+    fun outlinedButtonPropagateDefaultTextStyle() {
         composeTestRule.setMaterialContent {
             OutlinedButton(onClick = {}) {
                 assertThat(currentTextStyle()).isEqualTo(MaterialTheme.typography.button)
@@ -251,7 +254,7 @@
     }
 
     @Test
-    fun buttonTest_TextButtonPropagateDefaultTextStyle() {
+    fun textButtonPropagateDefaultTextStyle() {
         composeTestRule.setMaterialContent {
             TextButton(onClick = {}) {
                 assertThat(currentTextStyle()).isEqualTo(MaterialTheme.typography.button)
@@ -260,21 +263,21 @@
     }
 
     @Test
-    fun buttonTest_ContainedButtonHorPaddingIsFromSpec() {
+    fun containedButtonHorPaddingIsFromSpec() {
         assertLeftPaddingIs(16.dp) { text ->
             Button(onClick = {}, text = text)
         }
     }
 
     @Test
-    fun buttonTest_OutlinedButtonHorPaddingIsFromSpec() {
+    fun outlinedButtonHorPaddingIsFromSpec() {
         assertLeftPaddingIs(16.dp) { text ->
             OutlinedButton(onClick = {}, text = text)
         }
     }
 
     @Test
-    fun buttonTest_TextButtonHorPaddingIsFromSpec() {
+    fun textButtonHorPaddingIsFromSpec() {
         assertLeftPaddingIs(8.dp) { text ->
             TextButton(onClick = {}, text = text)
         }
@@ -282,19 +285,17 @@
 
     @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
     @Test
-    fun buttonTest_shapeAndColorFromThemeIsUsed() {
+    fun shapeAndColorFromThemeIsUsed() {
         val shape = CutCornerShape(10.dp)
         var surface = Color.Transparent
         var primary = Color.Transparent
         composeTestRule.setMaterialContent {
-            Stack {
-                surface = MaterialTheme.colors.surface
-                primary = MaterialTheme.colors.primary
-                Providers(ShapesAmbient provides Shapes(small = shape)) {
-                    TestTag(tag = "myButton") {
-                        Button(onClick = {}, elevation = 0.dp) {
-                            Box(Modifier.preferredSize(10.dp, 10.dp))
-                        }
+            surface = MaterialTheme.colors.surface
+            primary = MaterialTheme.colors.primary
+            Providers(ShapesAmbient provides Shapes(small = shape)) {
+                TestTag(tag = "myButton") {
+                    Button(onClick = {}, elevation = 0.dp) {
+                        Box(Modifier.preferredSize(10.dp, 10.dp))
                     }
                 }
             }
@@ -311,6 +312,169 @@
             )
     }
 
+    @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+    @Test
+    fun containedButtonDisabledBackgroundIsCorrect() {
+        var surface = Color.Transparent
+        var onSurface = Color.Transparent
+        val padding = 8.dp
+        composeTestRule.setMaterialContent {
+            surface = MaterialTheme.colors.surface
+            onSurface = MaterialTheme.colors.onSurface
+            TestTag(tag = "myButton") {
+                // stack allows to verify there is no shadow
+                Stack(Modifier.padding(padding)) {
+                    Button(onClick = {}, enabled = false, shape = RectangleShape) {}
+                }
+            }
+        }
+
+        findByTag("myButton")
+            .captureToBitmap()
+            .assertShape(
+                density = composeTestRule.density,
+                horizontalPadding = padding,
+                verticalPadding = padding,
+                backgroundColor = surface,
+                shapeColor = onSurface.copy(alpha = 0.12f).compositeOver(surface)
+            )
+    }
+
+    @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+    @Test
+    fun containedButtonWithCustomColorDisabledBackgroundIsCorrect() {
+        var surface = Color.Transparent
+        var onSurface = Color.Transparent
+        val padding = 8.dp
+        composeTestRule.setMaterialContent {
+            surface = MaterialTheme.colors.surface
+            onSurface = MaterialTheme.colors.onSurface
+            TestTag(tag = "myButton") {
+                // stack allows to verify there is no shadow
+                Stack(Modifier.padding(padding)) {
+                    Button(
+                        onClick = {},
+                        enabled = false,
+                        backgroundColor = Color.Red,
+                        shape = RectangleShape
+                    ) {}
+                }
+            }
+        }
+
+        findByTag("myButton")
+            .captureToBitmap()
+            .assertShape(
+                density = composeTestRule.density,
+                horizontalPadding = padding,
+                verticalPadding = padding,
+                backgroundColor = surface,
+                shapeColor = onSurface.copy(alpha = 0.12f).compositeOver(surface)
+            )
+    }
+
+    @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+    @Test
+    fun outlinedButtonDisabledBackgroundIsCorrect() {
+        var surface = Color.Transparent
+        val padding = 8.dp
+        composeTestRule.setMaterialContent {
+            surface = MaterialTheme.colors.surface
+            TestTag(tag = "myButton") {
+                // stack allows to verify there is no shadow
+                Stack(Modifier.padding(padding)) {
+                    OutlinedButton(
+                        onClick = {},
+                        enabled = false,
+                        shape = RectangleShape,
+                        border = null
+                    ) {}
+                }
+            }
+        }
+
+        findByTag("myButton")
+            .captureToBitmap()
+            .assertShape(
+                density = composeTestRule.density,
+                shape = RectangleShape,
+                shapeColor = surface,
+                backgroundColor = surface
+            )
+    }
+
+    @SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+    @Test
+    fun textButtonDisabledBackgroundIsCorrect() {
+        var surface = Color.Transparent
+        composeTestRule.setMaterialContent {
+            surface = MaterialTheme.colors.surface
+            TestTag(tag = "myButton") {
+                // stack allows to verify there is no shadow
+                Stack(Modifier.padding(8.dp)) {
+                    TextButton(onClick = {}, enabled = false, shape = RectangleShape) {}
+                }
+            }
+        }
+
+        findByTag("myButton")
+            .captureToBitmap()
+            .assertShape(
+                density = composeTestRule.density,
+                shape = RectangleShape,
+                shapeColor = surface,
+                backgroundColor = surface
+            )
+    }
+
+    @Test
+    fun containedButtonDisabledContentColorIsCorrect() {
+        var onSurface = Color.Transparent
+        var content = Color.Transparent
+        var emphasis: Emphasis? = null
+        composeTestRule.setMaterialContent {
+            onSurface = MaterialTheme.colors.onSurface
+            emphasis = EmphasisAmbient.current.disabled
+            Button(onClick = {}, enabled = false) {
+                content = contentColor()
+            }
+        }
+
+        assertThat(content).isEqualTo(emphasis!!.emphasize(onSurface))
+    }
+
+    @Test
+    fun outlinedButtonDisabledContentColorIsCorrect() {
+        var onSurface = Color.Transparent
+        var content = Color.Transparent
+        var emphasis: Emphasis? = null
+        composeTestRule.setMaterialContent {
+            onSurface = MaterialTheme.colors.onSurface
+            emphasis = EmphasisAmbient.current.disabled
+            OutlinedButton(onClick = {}, enabled = false) {
+                content = contentColor()
+            }
+        }
+
+        assertThat(content).isEqualTo(emphasis!!.emphasize(onSurface))
+    }
+
+    @Test
+    fun textButtonDisabledContentColorIsCorrect() {
+        var onSurface = Color.Transparent
+        var content = Color.Transparent
+        var emphasis: Emphasis? = null
+        composeTestRule.setMaterialContent {
+            onSurface = MaterialTheme.colors.onSurface
+            emphasis = EmphasisAmbient.current.disabled
+            TextButton(onClick = {}, enabled = false) {
+                content = contentColor()
+            }
+        }
+
+        assertThat(content).isEqualTo(emphasis!!.emphasize(onSurface))
+    }
+
     @Test
     fun contentIsWrappedAndCentered() {
         var buttonCoordinates: LayoutCoordinates? = null
@@ -318,8 +482,9 @@
         composeTestRule.setMaterialContent {
             Stack {
                 Button({}, Modifier.onPositioned { buttonCoordinates = it }) {
-                    Box(Modifier.preferredSize(2.dp)
-                        .onPositioned { contentCoordinates = it }
+                    Box(
+                        Modifier.preferredSize(2.dp)
+                            .onPositioned { contentCoordinates = it }
                     )
                 }
             }
diff --git a/ui/ui-material/src/androidTest/java/androidx/ui/material/ProgressIndicatorTest.kt b/ui/ui-material/src/androidTest/java/androidx/ui/material/ProgressIndicatorTest.kt
index 2b1137f..fd9ab03 100644
--- a/ui/ui-material/src/androidTest/java/androidx/ui/material/ProgressIndicatorTest.kt
+++ b/ui/ui-material/src/androidTest/java/androidx/ui/material/ProgressIndicatorTest.kt
@@ -18,7 +18,10 @@
 import androidx.compose.Model
 import androidx.test.filters.LargeTest
 import androidx.ui.core.TestTag
+import androidx.ui.foundation.Strings
+import androidx.ui.semantics.AccessibilityRangeInfo
 import androidx.ui.test.assertIsDisplayed
+import androidx.ui.test.assertRangeInfoEquals
 import androidx.ui.test.assertValueEquals
 import androidx.ui.test.createComposeRule
 import androidx.ui.test.findByTag
@@ -59,7 +62,8 @@
 
         findByTag(tag)
             .assertIsDisplayed()
-            .assertValueEquals("0.0")
+            .assertValueEquals("0 percent")
+            .assertRangeInfoEquals(AccessibilityRangeInfo(0f, 0f..1f))
 
         runOnUiThread {
             state.progress = 0.5f
@@ -67,7 +71,8 @@
 
         findByTag(tag)
             .assertIsDisplayed()
-            .assertValueEquals("0.5")
+            .assertValueEquals("50 percent")
+            .assertRangeInfoEquals(AccessibilityRangeInfo(0.5f, 0f..1f))
     }
 
     @Test
@@ -82,6 +87,22 @@
 
     @Test
     @Ignore("b/154757752")
+    fun indeterminateLinearProgressIndicator_progress() {
+        val tag = "linear"
+
+        composeTestRule
+            .setMaterialContent {
+                TestTag(tag = tag) {
+                    LinearProgressIndicator()
+                }
+            }
+
+        findByTag(tag)
+            .assertValueEquals(Strings.InProgress)
+    }
+
+    @Test
+    @Ignore("b/154757752")
     fun indeterminateLinearProgressIndicator_Size() {
         composeTestRule
             .setMaterialContentAndCollectSizes {
@@ -105,7 +126,8 @@
 
         findByTag(tag)
             .assertIsDisplayed()
-            .assertValueEquals("0.0")
+            .assertValueEquals("0 percent")
+            .assertRangeInfoEquals(AccessibilityRangeInfo(0f, 0f..1f))
 
         runOnUiThread {
             state.progress = 0.5f
@@ -113,7 +135,8 @@
 
         findByTag(tag)
             .assertIsDisplayed()
-            .assertValueEquals("0.5")
+            .assertValueEquals("50 percent")
+            .assertRangeInfoEquals(AccessibilityRangeInfo(0.5f, 0f..1f))
     }
 
     @Test
@@ -127,6 +150,22 @@
 
     @Test
     @Ignore("b/154757752")
+    fun indeterminateCircularProgressIndicator_progress() {
+        val tag = "circular"
+
+        composeTestRule
+            .setMaterialContent {
+                TestTag(tag = tag) {
+                    CircularProgressIndicator()
+                }
+            }
+
+        findByTag(tag)
+            .assertValueEquals(Strings.InProgress)
+    }
+
+    @Test
+    @Ignore("b/154757752")
     fun indeterminateCircularProgressIndicator_Size() {
         composeTestRule
             .setMaterialContentAndCollectSizes {
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Button.kt b/ui/ui-material/src/main/java/androidx/ui/material/Button.kt
index a6b21d5..7ca2ce6 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Button.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Button.kt
@@ -28,6 +28,7 @@
 import androidx.ui.foundation.Text
 import androidx.ui.graphics.Color
 import androidx.ui.graphics.Shape
+import androidx.ui.graphics.compositeOver
 import androidx.ui.layout.InnerPadding
 import androidx.ui.layout.preferredSizeIn
 import androidx.ui.material.ripple.ripple
@@ -58,10 +59,13 @@
  * be clickable
  * @param elevation The z-coordinate at which to place this button. This controls the size
  * of the shadow below the button
+ * @param disabledElevation The elevation used when [enabled] is false
  * @param shape Defines the button's shape as well as its shadow
  * @param border Border to draw around the button
  * @param backgroundColor The background color. Use [Color.Transparent] to have no color
+ * @param disabledBackgroundColor The background color used when [enabled] is false
  * @param contentColor The preferred content color. Will be used by text and iconography
+ * @param disabledContentColor The preferred content color used when [enabled] is false
  * @param padding The spacing values to apply internally between the container and the content
  */
 @Composable
@@ -70,10 +74,13 @@
     modifier: Modifier = Modifier,
     enabled: Boolean = true,
     elevation: Dp = 2.dp,
+    disabledElevation: Dp = 0.dp,
     shape: Shape = MaterialTheme.shapes.small,
     border: Border? = null,
     backgroundColor: Color = MaterialTheme.colors.primary,
+    disabledBackgroundColor: Color = Button.defaultDisabledBackgroundColor,
     contentColor: Color = contentColorFor(backgroundColor),
+    disabledContentColor: Color = Button.defaultDisabledContentColor,
     padding: InnerPadding = Button.DefaultInnerPadding,
     text: @Composable() () -> Unit
 ) {
@@ -82,10 +89,10 @@
     Semantics(container = true, mergeAllDescendants = true) {
         Surface(
             shape = shape,
-            color = backgroundColor,
-            contentColor = contentColor,
+            color = if (enabled) backgroundColor else disabledBackgroundColor,
+            contentColor = if (enabled) contentColor else disabledContentColor,
             border = border,
-            elevation = elevation,
+            elevation = if (enabled) elevation else disabledElevation,
             modifier = modifier
         ) {
             Clickable(
@@ -141,6 +148,7 @@
  * @param border Border to draw around the button
  * @param backgroundColor The background color. Use [Color.Transparent] to have no color
  * @param contentColor The preferred content color. Will be used by text and iconography
+ * @param disabledContentColor The preferred content color used when [enabled] is false
  * @param padding The spacing values to apply internally between the container and the content
  */
 @Composable
@@ -154,7 +162,8 @@
         1.dp, MaterialTheme.colors.onSurface.copy(alpha = OutlinedStrokeOpacity)
     ),
     backgroundColor: Color = MaterialTheme.colors.surface,
-    contentColor: Color = MaterialTheme.colors.primary,
+    contentColor: Color = contentColorFor(backgroundColor),
+    disabledContentColor: Color = Button.defaultDisabledContentColor,
     padding: InnerPadding = Button.DefaultInnerPadding,
     noinline text: @Composable() () -> Unit
 ) = Button(
@@ -162,10 +171,13 @@
     onClick = onClick,
     enabled = enabled,
     elevation = elevation,
+    disabledElevation = 0.dp,
     shape = shape,
     border = border,
     backgroundColor = backgroundColor,
+    disabledBackgroundColor = backgroundColor,
     contentColor = contentColor,
+    disabledContentColor = disabledContentColor,
     padding = padding,
     text = text
 )
@@ -197,6 +209,7 @@
  * @param border Border to draw around the button
  * @param backgroundColor The background color. Use [Color.Transparent] to have no color
  * @param contentColor The preferred content color. Will be used by text and iconography
+ * @param disabledContentColor The preferred content color used when [enabled] is false
  * @param padding The spacing values to apply internally between the container and the content
  */
 @Composable
@@ -209,6 +222,7 @@
     border: Border? = null,
     backgroundColor: Color = Color.Transparent,
     contentColor: Color = MaterialTheme.colors.primary,
+    disabledContentColor: Color = Button.defaultDisabledContentColor,
     padding: InnerPadding = TextButton.DefaultInnerPadding,
     noinline text: @Composable() () -> Unit
 ) = Button(
@@ -216,10 +230,13 @@
     onClick = onClick,
     enabled = enabled,
     elevation = elevation,
+    disabledElevation = 0.dp,
     shape = shape,
     border = border,
     backgroundColor = backgroundColor,
+    disabledBackgroundColor = backgroundColor,
     contentColor = contentColor,
+    disabledContentColor = disabledContentColor,
     padding = padding,
     text = text
 )
@@ -243,6 +260,27 @@
         end = ButtonHorizontalPadding,
         bottom = ButtonVerticalPadding
     )
+
+    /**
+     * The default disabled background color used by Contained [Button]s
+     */
+    @Composable
+    val defaultDisabledBackgroundColor
+        get(): Color = with(MaterialTheme.colors) {
+            // we have to composite it over surface here as if we provide a transparent background for
+            // Surface and non-zero elevation the artifacts from casting the shadow will be visible
+            // below the background.
+            onSurface.copy(alpha = 0.12f).compositeOver(surface)
+        }
+
+    /**
+     * The default disabled content color used by all types of [Button]s
+     */
+    @Composable
+    val defaultDisabledContentColor
+        get(): Color = with(MaterialTheme.colors) {
+            EmphasisAmbient.current.disabled.emphasize(onSurface)
+        }
 }
 
 /**
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt b/ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt
index 951752b..c00bd0b 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Checkbox.kt
@@ -188,9 +188,7 @@
     val innerStrokeWidth = innerRadiusFraction * checkboxSize / 2
     if (innerStrokeWidth > strokeWidth) {
         val clipRect = outer.shrink(strokeWidth / 2 - offset).outerRect()
-        val topLeft = Offset(clipRect.left, clipRect.top)
-        val size = Size(clipRect.width, clipRect.height)
-        clipRect(topLeft, size, ClipOp.difference) {
+        clipRect(clipRect.left, clipRect.top, clipRect.right, clipRect.bottom, ClipOp.difference) {
             drawRoundRect(
                 color,
                 Offset(outer.left, outer.top),
@@ -200,7 +198,7 @@
             )
         }
 
-        clipRect(topLeft, size) {
+        clipRect(clipRect.left, clipRect.top, clipRect.right, clipRect.bottom) {
             val innerHalfStrokeWidth = innerStrokeWidth / 2
             val rect = outer.shrink(innerHalfStrokeWidth - offset).outerRect()
             drawRect(
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt b/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
index 00e85b9..a05028b 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Drawer.kt
@@ -86,15 +86,15 @@
     bodyContent: @Composable() () -> Unit
 ) {
     Box(Modifier.fillMaxSize()) {
-        WithConstraints { pxConstraints, _ ->
+        WithConstraints {
             // TODO : think about Infinite max bounds case
-            if (!pxConstraints.hasBoundedWidth) {
+            if (!constraints.hasBoundedWidth) {
                 throw IllegalStateException("Drawer shouldn't have infinite width")
             }
-            val constraints = with(DensityAmbient.current) {
-                DpConstraints(pxConstraints)
+            val dpConstraints = with(DensityAmbient.current) {
+                DpConstraints(constraints)
             }
-            val minValue = -pxConstraints.maxWidth.value.toFloat()
+            val minValue = -constraints.maxWidth.value.toFloat()
             val maxValue = 0f
 
             val anchors = listOf(minValue to DrawerState.Closed, maxValue to DrawerState.Opened)
@@ -113,7 +113,7 @@
                     Scrim(drawerState, onStateChange, fraction = {
                         calculateFraction(minValue, maxValue, model.value)
                     })
-                    DrawerContent(model, constraints, drawerContent)
+                    DrawerContent(model, dpConstraints, drawerContent)
                 }
             }
         }
@@ -152,16 +152,16 @@
     bodyContent: @Composable() () -> Unit
 ) {
     Box(Modifier.fillMaxSize()) {
-        WithConstraints { pxConstraints, _ ->
+        WithConstraints {
             // TODO : think about Infinite max bounds case
-            if (!pxConstraints.hasBoundedHeight) {
+            if (!constraints.hasBoundedHeight) {
                 throw IllegalStateException("Drawer shouldn't have infinite height")
             }
-            val constraints = with(DensityAmbient.current) {
-                DpConstraints(pxConstraints)
+            val dpConstraints = with(DensityAmbient.current) {
+                DpConstraints(constraints)
             }
             val minValue = 0f
-            val maxValue = pxConstraints.maxHeight.value.toFloat()
+            val maxValue = constraints.maxHeight.value.toFloat()
 
             // TODO: add proper landscape support
             val isLandscape = constraints.maxWidth > constraints.maxHeight
@@ -196,7 +196,7 @@
                         // as we scroll "from height to 0" , need to reverse fraction
                         1 - calculateFraction(openedValue, maxValue, model.value)
                     })
-                    BottomDrawerContent(model, constraints, drawerContent)
+                    BottomDrawerContent(model, dpConstraints, drawerContent)
                 }
             }
         }
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/FloatingActionButton.kt b/ui/ui-material/src/main/java/androidx/ui/material/FloatingActionButton.kt
index 2a356d9..2eba8d1 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/FloatingActionButton.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/FloatingActionButton.kt
@@ -19,15 +19,7 @@
 package androidx.ui.material
 
 import androidx.compose.Composable
-import androidx.ui.core.Constraints
-import androidx.ui.core.IntrinsicMeasurable
-import androidx.ui.core.IntrinsicMeasureScope
-import androidx.ui.core.LayoutDirection
-import androidx.ui.core.LayoutModifier
-import androidx.ui.core.Measurable
-import androidx.ui.core.MeasureScope
 import androidx.ui.core.Modifier
-import androidx.ui.core.enforce
 import androidx.ui.foundation.Box
 import androidx.ui.foundation.Clickable
 import androidx.ui.foundation.ContentGravity
@@ -37,16 +29,14 @@
 import androidx.ui.graphics.Shape
 import androidx.ui.layout.Row
 import androidx.ui.layout.Spacer
+import androidx.ui.layout.defaultMinSizeConstraints
 import androidx.ui.layout.padding
 import androidx.ui.layout.preferredSizeIn
 import androidx.ui.layout.preferredWidth
 import androidx.ui.material.ripple.ripple
 import androidx.ui.semantics.Semantics
 import androidx.ui.unit.Dp
-import androidx.ui.unit.IntPx
 import androidx.ui.unit.dp
-import androidx.ui.unit.ipx
-import androidx.ui.unit.max
 
 /**
  * A floating action button (FAB) is a button that represents the primary action of a screen.
@@ -90,7 +80,10 @@
             Clickable(onClick, modifier = Modifier.ripple()) {
                 ProvideTextStyle(MaterialTheme.typography.button) {
                     Box(
-                        modifier = MinimumFabSizeModifier,
+                        modifier = Modifier.defaultMinSizeConstraints(
+                            minWidth = FabSize,
+                            minHeight = FabSize
+                        ),
                         gravity = ContentGravity.Center,
                         children = icon
                     )
@@ -163,62 +156,6 @@
     }
 }
 
-/**
- * [LayoutModifier] that will set minimum constraints in each dimension to be [FabSize] unless
- * there is an incoming, non-zero minimum already. This allows us to define a default minimum in
- * [FloatingActionButton], but let [ExtendedFloatingActionButton] override it with a smaller
- * minimum just by settings a normal [preferredSizeIn] modifier.
- *
- * TODO: b/150460257 remove after support for this is added as a SizeModifier / similar
- */
-private object MinimumFabSizeModifier : LayoutModifier {
-    override fun MeasureScope.measure(
-        measurable: Measurable,
-        constraints: Constraints,
-        layoutDirection: LayoutDirection
-    ): MeasureScope.MeasureResult {
-        val minWidth = constraints.minWidth.takeIf { it != IntPx.Zero }
-        val minHeight = constraints.minHeight.takeIf { it != IntPx.Zero }
-        val wrappedConstraints = when {
-            minWidth != null && minHeight != null -> constraints
-            else -> {
-                Constraints(
-                    minWidth = minWidth ?: FabSize.toIntPx(),
-                    minHeight = minHeight ?: FabSize.toIntPx()
-                ).enforce(constraints)
-            }
-        }
-        val placeable = measurable.measure(wrappedConstraints)
-        return layout(placeable.width, placeable.height) {
-            placeable.place(0.ipx, 0.ipx)
-        }
-    }
-
-    override fun IntrinsicMeasureScope.minIntrinsicWidth(
-        measurable: IntrinsicMeasurable,
-        height: IntPx,
-        layoutDirection: LayoutDirection
-    ) = max(measurable.minIntrinsicWidth(height), FabSize.toIntPx())
-
-    override fun IntrinsicMeasureScope.minIntrinsicHeight(
-        measurable: IntrinsicMeasurable,
-        width: IntPx,
-        layoutDirection: LayoutDirection
-    ) = max(measurable.minIntrinsicHeight(width), FabSize.toIntPx())
-
-    override fun IntrinsicMeasureScope.maxIntrinsicWidth(
-        measurable: IntrinsicMeasurable,
-        height: IntPx,
-        layoutDirection: LayoutDirection
-    ) = max(measurable.maxIntrinsicWidth(height), FabSize.toIntPx())
-
-    override fun IntrinsicMeasureScope.maxIntrinsicHeight(
-        measurable: IntrinsicMeasurable,
-        width: IntPx,
-        layoutDirection: LayoutDirection
-    ) = max(measurable.maxIntrinsicHeight(width), FabSize.toIntPx())
-}
-
 private val FabSize = 56.dp
 private val ExtendedFabSize = 48.dp
 private val ExtendedFabIconPadding = 12.dp
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt b/ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt
index ea4d821..709c3bb 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/ProgressIndicator.kt
@@ -30,6 +30,7 @@
 import androidx.ui.core.LayoutDirection
 import androidx.ui.foundation.Canvas2
 import androidx.ui.foundation.DeterminateProgressIndicator
+import androidx.ui.foundation.Strings
 import androidx.ui.geometry.Offset
 import androidx.ui.geometry.Size
 import androidx.ui.graphics.Color
@@ -39,6 +40,8 @@
 import androidx.ui.graphics.vectormath.degrees
 import androidx.ui.layout.padding
 import androidx.ui.layout.preferredSize
+import androidx.ui.semantics.Semantics
+import androidx.ui.semantics.accessibilityValue
 import androidx.ui.unit.Dp
 import androidx.ui.unit.dp
 import kotlin.math.abs
@@ -83,37 +86,41 @@
     modifier: Modifier = Modifier,
     color: Color = MaterialTheme.colors.primary
 ) {
-    Transition(
-        definition = LinearIndeterminateTransition,
-        initState = 0,
-        toState = 1
-    ) { state ->
-        val firstLineHead = state[FirstLineHeadProp]
-        val firstLineTail = state[FirstLineTailProp]
-        val secondLineHead = state[SecondLineHeadProp]
-        val secondLineTail = state[SecondLineTailProp]
-        val backgroundColor = color.copy(alpha = BackgroundOpacity)
-        val stroke = with(DensityAmbient.current) {
-            Stroke(
-                width = ProgressIndicatorConstants.DefaultStrokeWidth.toPx().value,
-                cap = StrokeCap.butt
-            )
-        }
-        Canvas2(modifier.preferredSize(LinearIndicatorWidth, LinearIndicatorHeight)) {
-            drawLinearIndicatorBackground(backgroundColor, stroke)
-            if (firstLineHead - firstLineTail > 0) {
-                drawLinearIndicator(
-                    firstLineHead,
-                    firstLineTail,
-                    color,
-                    stroke)
+    // TODO(b/154875304) create IndeterminateProgressIndicator in foundation and move the
+    //  semantics there
+    Semantics(container = true, properties = { accessibilityValue = Strings.InProgress }) {
+        Transition(
+            definition = LinearIndeterminateTransition,
+            initState = 0,
+            toState = 1
+        ) { state ->
+            val firstLineHead = state[FirstLineHeadProp]
+            val firstLineTail = state[FirstLineTailProp]
+            val secondLineHead = state[SecondLineHeadProp]
+            val secondLineTail = state[SecondLineTailProp]
+            val backgroundColor = color.copy(alpha = BackgroundOpacity)
+            val stroke = with(DensityAmbient.current) {
+                Stroke(
+                    width = ProgressIndicatorConstants.DefaultStrokeWidth.toPx().value,
+                    cap = StrokeCap.butt
+                )
             }
-            if ((secondLineHead - secondLineTail) > 0) {
-                drawLinearIndicator(
-                    secondLineHead,
-                    secondLineTail,
-                    color,
-                    stroke)
+            Canvas2(modifier.preferredSize(LinearIndicatorWidth, LinearIndicatorHeight)) {
+                drawLinearIndicatorBackground(backgroundColor, stroke)
+                if (firstLineHead - firstLineTail > 0) {
+                    drawLinearIndicator(
+                        firstLineHead,
+                        firstLineTail,
+                        color,
+                        stroke)
+                }
+                if ((secondLineHead - secondLineTail) > 0) {
+                    drawLinearIndicator(
+                        secondLineHead,
+                        secondLineTail,
+                        color,
+                        stroke)
+                }
             }
         }
     }
@@ -191,33 +198,37 @@
     color: Color = MaterialTheme.colors.primary,
     strokeWidth: Dp = ProgressIndicatorConstants.DefaultStrokeWidth
 ) {
-    val stroke = with(DensityAmbient.current) {
-        Stroke(width = strokeWidth.toPx().value, cap = StrokeCap.square)
-    }
-    Transition(
-        definition = CircularIndeterminateTransition,
-        initState = 0,
-        toState = 1
-    ) { state ->
-        val currentRotation = state[IterationProp]
-        val baseRotation = state[BaseRotationProp]
+    // TODO(b/154875304) create IndeterminateProgressIndicator in foundation and move the
+    //  semantics there
+    Semantics(container = true, properties = { accessibilityValue = Strings.InProgress }) {
+        val stroke = with(DensityAmbient.current) {
+            Stroke(width = strokeWidth.toPx().value, cap = StrokeCap.square)
+        }
+        Transition(
+            definition = CircularIndeterminateTransition,
+            initState = 0,
+            toState = 1
+        ) { state ->
+            val currentRotation = state[IterationProp]
+            val baseRotation = state[BaseRotationProp]
 
-        val currentRotationAngleOffset = (currentRotation * RotationAngleOffset) % 360f
+            val currentRotationAngleOffset = (currentRotation * RotationAngleOffset) % 360f
 
-        var startAngle = state[TailRotationProp]
-        val endAngle = state[HeadRotationProp]
-        // How long a line to draw using the start angle as a reference point
-        val sweep = abs(endAngle - startAngle)
+            var startAngle = state[TailRotationProp]
+            val endAngle = state[HeadRotationProp]
+            // How long a line to draw using the start angle as a reference point
+            val sweep = abs(endAngle - startAngle)
 
-        // Offset by the constant offset and the per rotation offset
-        startAngle += StartAngleOffset + currentRotationAngleOffset
-        startAngle += baseRotation
+            // Offset by the constant offset and the per rotation offset
+            startAngle += StartAngleOffset + currentRotationAngleOffset
+            startAngle += baseRotation
 
-        Canvas2(
-            modifier.padding(CircularIndicatorPadding)
-                .preferredSize(CircularIndicatorDiameter)
-        ) {
-            drawIndeterminateCircularIndicator(startAngle, strokeWidth, sweep, color, stroke)
+            Canvas2(
+                modifier.padding(CircularIndicatorPadding)
+                    .preferredSize(CircularIndicatorDiameter)
+            ) {
+                drawIndeterminateCircularIndicator(startAngle, strokeWidth, sweep, color, stroke)
+            }
         }
     }
 }
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt b/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
index 55533ae..072eefe 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Slider.kt
@@ -108,7 +108,7 @@
     position.scaledValue = value
     Semantics(container = true, mergeAllDescendants = true) {
         Box(modifier = modifier) {
-            WithConstraints { constraints, _ ->
+            WithConstraints {
                 val maxPx = constraints.maxWidth.value.toFloat()
                 val minPx = 0f
                 position.setBounds(minPx, maxPx)
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/Tab.kt b/ui/ui-material/src/main/java/androidx/ui/material/Tab.kt
index 5d25bfa..8260c92 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/Tab.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/Tab.kt
@@ -153,7 +153,7 @@
     tab: @Composable() (Int, T) -> Unit
 ) {
     Surface(modifier = modifier, color = backgroundColor, contentColor = contentColor) {
-        WithConstraints { constraints, _ ->
+        WithConstraints {
             val width = constraints.maxWidth
             // TODO: force scrollable for tabs that will be too small if they take up equal space?
             if (scrollable) {
diff --git a/ui/ui-material/src/main/java/androidx/ui/material/TextField.kt b/ui/ui-material/src/main/java/androidx/ui/material/TextField.kt
index 377d604..5f0b39e 100644
--- a/ui/ui-material/src/main/java/androidx/ui/material/TextField.kt
+++ b/ui/ui-material/src/main/java/androidx/ui/material/TextField.kt
@@ -134,8 +134,9 @@
  * @param onImeActionPerformed is triggered when the input service performs an [ImeAction].
  * Note that the emitted IME action may be different from what you specified through the
  * [imeAction] field
- * @param visualTransformation transforms the visual output of the input [value]. For example, you
- * can use [androidx.ui.input.PasswordVisualTransformation] to create a password text field
+ * @param visualTransformation transforms the visual representation of the input [value].
+ * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * text field. By default no visual transformation is applied
  * @param onFocusChange the callback triggered when the text field gets or loses the focus
  * @param activeColor the color of the label and bottom indicator when the text field is in focus
  * @param inactiveColor the color of the input text or placeholder when the text field is in
@@ -157,7 +158,7 @@
     leadingIcon: @Composable() (() -> Unit)? = null,
     trailingIcon: @Composable() (() -> Unit)? = null,
     isErrorValue: Boolean = false,
-    visualTransformation: VisualTransformation? = null,
+    visualTransformation: VisualTransformation = VisualTransformation.None,
     keyboardType: KeyboardType = KeyboardType.Text,
     imeAction: ImeAction = ImeAction.Unspecified,
     onImeActionPerformed: (ImeAction) -> Unit = {},
@@ -245,8 +246,9 @@
  * @param onImeActionPerformed is triggered when the input service performs an [ImeAction].
  * Note that the emitted IME action may be different from what you specified through the
  * [imeAction] field
- * @param visualTransformation transforms the visual output of the input [value]. For example, you
- * can use [androidx.ui.input.PasswordVisualTransformation] to create a password text field
+ * @param visualTransformation transforms the visual representation of the input [value].
+ * For example, you can use [androidx.ui.input.PasswordVisualTransformation] to create a password
+ * text field. By default no visual transformation is applied
  * @param onFocusChange the callback triggered when the text field gets or loses the focus
  * @param activeColor the color of the label and bottom indicator when the text field is in focus
  * @param inactiveColor the color of the input text or placeholder when the text field is in
@@ -268,7 +270,7 @@
     leadingIcon: @Composable() (() -> Unit)? = null,
     trailingIcon: @Composable() (() -> Unit)? = null,
     isErrorValue: Boolean = false,
-    visualTransformation: VisualTransformation? = null,
+    visualTransformation: VisualTransformation = VisualTransformation.None,
     keyboardType: KeyboardType = KeyboardType.Text,
     imeAction: ImeAction = ImeAction.Unspecified,
     onImeActionPerformed: (ImeAction) -> Unit = {},
@@ -317,7 +319,7 @@
     leading: @Composable() (() -> Unit)?,
     trailing: @Composable() (() -> Unit)?,
     isErrorValue: Boolean,
-    visualTransformation: VisualTransformation?,
+    visualTransformation: VisualTransformation,
     keyboardType: KeyboardType,
     imeAction: ImeAction,
     onImeActionPerformed: (ImeAction) -> Unit,
diff --git a/ui/ui-platform/OWNERS b/ui/ui-platform/OWNERS
deleted file mode 100644
index 8fee348..0000000
--- a/ui/ui-platform/OWNERS
+++ /dev/null
@@ -1,11 +0,0 @@
-adamp@google.com
-mount@google.com
-ryanmentley@google.com
-shepshapard@google.com
-andreykulikov@google.com
-
-# For text input
-haoyuchang@google.com
-nona@google.com
-qqd@google.com
-siyamed@google.com
diff --git a/ui/ui-platform/api/0.1.0-dev01.txt b/ui/ui-platform/api/0.1.0-dev01.txt
deleted file mode 100644
index 2602ddd..0000000
--- a/ui/ui-platform/api/0.1.0-dev01.txt
+++ /dev/null
@@ -1,478 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getCommitUnsubscribe();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setCommitUnsubscribe(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? commitUnsubscribe;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setNeedsRelayout$lintWithKotlin(boolean p);
-    method public void setNeedsRemeasure$lintWithKotlin(boolean p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function2<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function2<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.core.PxPosition? globalPosition;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.core.PxPosition? globalPosition;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.internal {
-
-  public final class Unicode {
-    field public static final String ALM = "\u061c";
-    field public static final String FSI = "\u2068";
-    field public static final androidx.ui.internal.Unicode! INSTANCE;
-    field public static final String LRE = "\u202a";
-    field public static final String LRI = "\u2066";
-    field public static final String LRM = "\u200e";
-    field public static final String LRO = "\u202d";
-    field public static final String PDF = "\u202c";
-    field public static final String PDI = "\u2069";
-    field public static final String RLE = "\u202b";
-    field public static final String RLI = "\u2067";
-    field public static final String RLM = "\u200f";
-    field public static final String RLO = "\u202e";
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev02.txt b/ui/ui-platform/api/0.1.0-dev02.txt
deleted file mode 100644
index 94d3381..0000000
--- a/ui/ui-platform/api/0.1.0-dev02.txt
+++ /dev/null
@@ -1,478 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getCommitUnsubscribe();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setCommitUnsubscribe(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? commitUnsubscribe;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setNeedsRelayout$lintWithKotlin(boolean p);
-    method public void setNeedsRemeasure$lintWithKotlin(boolean p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.core.PxPosition? globalPosition;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.core.PxPosition? globalPosition;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.internal {
-
-  public final class Unicode {
-    field public static final String ALM = "\u061c";
-    field public static final String FSI = "\u2068";
-    field public static final androidx.ui.internal.Unicode! INSTANCE;
-    field public static final String LRE = "\u202a";
-    field public static final String LRI = "\u2066";
-    field public static final String LRM = "\u200e";
-    field public static final String LRO = "\u202d";
-    field public static final String PDF = "\u202c";
-    field public static final String PDI = "\u2069";
-    field public static final String RLE = "\u202b";
-    field public static final String RLI = "\u2067";
-    field public static final String RLM = "\u200f";
-    field public static final String RLO = "\u202e";
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev03.txt b/ui/ui-platform/api/0.1.0-dev03.txt
deleted file mode 100644
index bbf059a..0000000
--- a/ui/ui-platform/api/0.1.0-dev03.txt
+++ /dev/null
@@ -1,507 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public void enableModelReadObserving(boolean enabled);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public final androidx.ui.input.TextInputService textInputService;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public inline void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntristicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntristicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public void enableModelReadObserving(boolean enabled);
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.engine.geometry.Rect? globalRect;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.engine.geometry.Rect? globalRect;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    ctor public FocusNodeUtilsKt();
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class HitPathTrackerKt {
-    ctor public HitPathTrackerKt();
-  }
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev04.txt b/ui/ui-platform/api/0.1.0-dev04.txt
deleted file mode 100644
index ddb5a18..0000000
--- a/ui/ui-platform/api/0.1.0-dev04.txt
+++ /dev/null
@@ -1,501 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.unit.DensityScope androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedBack getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedBack hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.unit.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.unit.PxPosition childLocal);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.unit.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.unit.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.unit.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.unit.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.unit.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.unit.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.unit.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.IntPxPosition getContentPosition();
-    method public androidx.ui.unit.IntPxSize getContentSize();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.unit.IntPxPosition getModifiedPosition();
-    method public androidx.ui.unit.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public androidx.ui.unit.IntPx getX();
-    method public androidx.ui.unit.IntPx getY();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.unit.IntPxPosition contentPosition;
-    property public final androidx.ui.unit.IntPxSize contentSize;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.unit.IntPxPosition modifiedPosition;
-    property public final androidx.ui.unit.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-    property public final androidx.ui.unit.IntPx x;
-    property public final androidx.ui.unit.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, int id);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedBack {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackConstants hapticFeedbackConstants);
-  }
-
-  public enum HapticFeedbackConstants {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackConstants LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackConstants TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev05.txt b/ui/ui-platform/api/0.1.0-dev05.txt
deleted file mode 100644
index d24fcc3..0000000
--- a/ui/ui-platform/api/0.1.0-dev05.txt
+++ /dev/null
@@ -1,493 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev06.txt b/ui/ui-platform/api/0.1.0-dev06.txt
deleted file mode 100644
index 250787c..0000000
--- a/ui/ui-platform/api/0.1.0-dev06.txt
+++ /dev/null
@@ -1,508 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openLink(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev07.txt b/ui/ui-platform/api/0.1.0-dev07.txt
deleted file mode 100644
index 00fac78..0000000
--- a/ui/ui-platform/api/0.1.0-dev07.txt
+++ /dev/null
@@ -1,491 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.Owner createOwner(android.content.Context context);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.Density,kotlin.Unit> drawBlock);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public final void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates layoutCoordinates);
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class PointerInputModifier implements androidx.ui.core.Modifier.Element {
-    ctor public PointerInputModifier(androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter);
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev08.txt b/ui/ui-platform/api/0.1.0-dev08.txt
deleted file mode 100644
index 29cc661..0000000
--- a/ui/ui-platform/api/0.1.0-dev08.txt
+++ /dev/null
@@ -1,494 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public boolean getHasElevation();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void setElevationRiseListener(kotlin.jvm.functions.Function0<kotlin.Unit>? block);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract boolean hasElevation;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.Density,kotlin.Unit> drawBlock);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev09.txt b/ui/ui-platform/api/0.1.0-dev09.txt
deleted file mode 100644
index 2ede31d..0000000
--- a/ui/ui-platform/api/0.1.0-dev09.txt
+++ /dev/null
@@ -1,502 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev10.txt b/ui/ui-platform/api/0.1.0-dev10.txt
deleted file mode 100644
index 6f43817..0000000
--- a/ui/ui-platform/api/0.1.0-dev10.txt
+++ /dev/null
@@ -1,515 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.semantics.SemanticsModifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, androidx.ui.text.AnnotatedString text);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/0.1.0-dev11.txt b/ui/ui-platform/api/0.1.0-dev11.txt
deleted file mode 100644
index ad6d260..0000000
--- a/ui/ui-platform/api/0.1.0-dev11.txt
+++ /dev/null
@@ -1,504 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor @Deprecated public FocusNode();
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
-    method public void hide();
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
-    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
-  }
-
-  public enum TextToolbarStatus {
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/api_lint.ignore b/ui/ui-platform/api/api_lint.ignore
deleted file mode 100644
index 599ac2b..0000000
--- a/ui/ui-platform/api/api_lint.ignore
+++ /dev/null
@@ -1,3 +0,0 @@
-// Baseline format: 1.0
-CallbackName: androidx.ui.core.ModelObserver:
-    Class should be named ModelCallback
diff --git a/ui/ui-platform/api/current.txt b/ui/ui-platform/api/current.txt
deleted file mode 100644
index ad6d260..0000000
--- a/ui/ui-platform/api/current.txt
+++ /dev/null
@@ -1,504 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor @Deprecated public FocusNode();
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
-    method public void hide();
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
-    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
-  }
-
-  public enum TextToolbarStatus {
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev01.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev01.txt
deleted file mode 100644
index 2602ddd..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev01.txt
+++ /dev/null
@@ -1,478 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getCommitUnsubscribe();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setCommitUnsubscribe(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? commitUnsubscribe;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setNeedsRelayout$lintWithKotlin(boolean p);
-    method public void setNeedsRemeasure$lintWithKotlin(boolean p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function2<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function2<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.core.PxPosition? globalPosition;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.core.PxPosition? globalPosition;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.internal {
-
-  public final class Unicode {
-    field public static final String ALM = "\u061c";
-    field public static final String FSI = "\u2068";
-    field public static final androidx.ui.internal.Unicode! INSTANCE;
-    field public static final String LRE = "\u202a";
-    field public static final String LRI = "\u2066";
-    field public static final String LRM = "\u200e";
-    field public static final String LRO = "\u202d";
-    field public static final String PDF = "\u202c";
-    field public static final String PDI = "\u2069";
-    field public static final String RLE = "\u202b";
-    field public static final String RLI = "\u2067";
-    field public static final String RLM = "\u200f";
-    field public static final String RLO = "\u202e";
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev02.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev02.txt
deleted file mode 100644
index 94d3381..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev02.txt
+++ /dev/null
@@ -1,478 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getCommitUnsubscribe();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setCommitUnsubscribe(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? commitUnsubscribe;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setNeedsRelayout$lintWithKotlin(boolean p);
-    method public void setNeedsRemeasure$lintWithKotlin(boolean p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.core.PxPosition? globalPosition;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.core.PxPosition? globalPosition;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.internal {
-
-  public final class Unicode {
-    field public static final String ALM = "\u061c";
-    field public static final String FSI = "\u2068";
-    field public static final androidx.ui.internal.Unicode! INSTANCE;
-    field public static final String LRE = "\u202a";
-    field public static final String LRI = "\u2066";
-    field public static final String LRM = "\u200e";
-    field public static final String LRO = "\u202d";
-    field public static final String PDF = "\u202c";
-    field public static final String PDI = "\u2069";
-    field public static final String RLE = "\u202b";
-    field public static final String RLI = "\u2067";
-    field public static final String RLM = "\u200f";
-    field public static final String RLO = "\u202e";
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev03.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev03.txt
deleted file mode 100644
index bbf059a..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev03.txt
+++ /dev/null
@@ -1,507 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public void enableModelReadObserving(boolean enabled);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public final androidx.ui.input.TextInputService textInputService;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public inline void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntristicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntristicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public void enableModelReadObserving(boolean enabled);
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.engine.geometry.Rect? globalRect;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.engine.geometry.Rect? globalRect;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    ctor public FocusNodeUtilsKt();
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class HitPathTrackerKt {
-    ctor public HitPathTrackerKt();
-  }
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev04.txt
deleted file mode 100644
index 39d2006..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev04.txt
+++ /dev/null
@@ -1,503 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.unit.DensityScope androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedBack getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedBack hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.unit.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.unit.PxPosition childLocal);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.unit.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.unit.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.unit.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.unit.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.unit.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.unit.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.unit.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.IntPxPosition getContentPosition();
-    method public androidx.ui.unit.IntPxSize getContentSize();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.unit.IntPxPosition getModifiedPosition();
-    method public androidx.ui.unit.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public androidx.ui.unit.IntPx getX();
-    method public androidx.ui.unit.IntPx getY();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.unit.IntPxPosition contentPosition;
-    property public final androidx.ui.unit.IntPxSize contentSize;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.unit.IntPxPosition modifiedPosition;
-    property public final androidx.ui.unit.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-    property public final androidx.ui.unit.IntPx x;
-    property public final androidx.ui.unit.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, int id);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedBack {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackConstants hapticFeedbackConstants);
-  }
-
-  public enum HapticFeedbackConstants {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackConstants LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackConstants TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev05.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev05.txt
deleted file mode 100644
index 62e6677..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev05.txt
+++ /dev/null
@@ -1,495 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev06.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev06.txt
deleted file mode 100644
index d143f3e..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev06.txt
+++ /dev/null
@@ -1,510 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openLink(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev07.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev07.txt
deleted file mode 100644
index 9e7e198..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev07.txt
+++ /dev/null
@@ -1,493 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.Owner createOwner(android.content.Context context);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.Density,kotlin.Unit> drawBlock);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public final void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates layoutCoordinates);
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class PointerInputModifier implements androidx.ui.core.Modifier.Element {
-    ctor public PointerInputModifier(androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter);
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev08.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev08.txt
deleted file mode 100644
index 3e3ed20..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev08.txt
+++ /dev/null
@@ -1,496 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public boolean getHasElevation();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void setElevationRiseListener(kotlin.jvm.functions.Function0<kotlin.Unit>? block);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract boolean hasElevation;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.Density,kotlin.Unit> drawBlock);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev09.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev09.txt
deleted file mode 100644
index e5f306f5..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev09.txt
+++ /dev/null
@@ -1,504 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev10.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev10.txt
deleted file mode 100644
index 55f6eed..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev10.txt
+++ /dev/null
@@ -1,517 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.semantics.SemanticsModifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, androidx.ui.text.AnnotatedString text);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev11.txt
deleted file mode 100644
index 843c59d..0000000
--- a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev11.txt
+++ /dev/null
@@ -1,506 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor @Deprecated public FocusNode();
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
-    method public void hide();
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
-    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
-  }
-
-  public enum TextToolbarStatus {
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/public_plus_experimental_current.txt b/ui/ui-platform/api/public_plus_experimental_current.txt
deleted file mode 100644
index 843c59d..0000000
--- a/ui/ui-platform/api/public_plus_experimental_current.txt
+++ /dev/null
@@ -1,506 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor @Deprecated public FocusNode();
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
-    method public void hide();
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
-    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
-  }
-
-  public enum TextToolbarStatus {
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/res-0.1.0-dev02.txt b/ui/ui-platform/api/res-0.1.0-dev02.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev02.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev03.txt b/ui/ui-platform/api/res-0.1.0-dev03.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev03.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev04.txt b/ui/ui-platform/api/res-0.1.0-dev04.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev04.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev05.txt b/ui/ui-platform/api/res-0.1.0-dev05.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev05.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev06.txt b/ui/ui-platform/api/res-0.1.0-dev06.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev06.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev07.txt b/ui/ui-platform/api/res-0.1.0-dev07.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev07.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev08.txt b/ui/ui-platform/api/res-0.1.0-dev08.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev08.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev09.txt b/ui/ui-platform/api/res-0.1.0-dev09.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev09.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev10.txt b/ui/ui-platform/api/res-0.1.0-dev10.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev10.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-0.1.0-dev11.txt b/ui/ui-platform/api/res-0.1.0-dev11.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-0.1.0-dev11.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/res-current.txt b/ui/ui-platform/api/res-current.txt
deleted file mode 100644
index e69de29..0000000
--- a/ui/ui-platform/api/res-current.txt
+++ /dev/null
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev01.txt b/ui/ui-platform/api/restricted_0.1.0-dev01.txt
deleted file mode 100644
index e6535a4..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev01.txt
+++ /dev/null
@@ -1,487 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getCommitUnsubscribe();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setCommitUnsubscribe(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? commitUnsubscribe;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setNeedsRelayout$lintWithKotlin(boolean p);
-    method public void setNeedsRemeasure$lintWithKotlin(boolean p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function2<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function2<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function2<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.core.PxPosition? globalPosition;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.core.PxPosition? globalPosition;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.core.text {
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final class AndroidFontResourceLoader implements androidx.ui.text.font.Font.ResourceLoader {
-    ctor public AndroidFontResourceLoader(android.content.Context context);
-    method public android.graphics.Typeface load(androidx.ui.text.font.Font font);
-  }
-
-}
-
-package androidx.ui.internal {
-
-  public final class Unicode {
-    field public static final String ALM = "\u061c";
-    field public static final String FSI = "\u2068";
-    field public static final androidx.ui.internal.Unicode! INSTANCE;
-    field public static final String LRE = "\u202a";
-    field public static final String LRI = "\u2066";
-    field public static final String LRM = "\u200e";
-    field public static final String LRO = "\u202d";
-    field public static final String PDF = "\u202c";
-    field public static final String PDI = "\u2069";
-    field public static final String RLE = "\u202b";
-    field public static final String RLI = "\u2067";
-    field public static final String RLM = "\u200f";
-    field public static final String RLO = "\u202e";
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev02.txt b/ui/ui-platform/api/restricted_0.1.0-dev02.txt
deleted file mode 100644
index 046cda7..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev02.txt
+++ /dev/null
@@ -1,487 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getCommitUnsubscribe();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setCommitUnsubscribe(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? commitUnsubscribe;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setNeedsRelayout$lintWithKotlin(boolean p);
-    method public void setNeedsRemeasure$lintWithKotlin(boolean p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.core.PxPosition? globalPosition;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.core.PxPosition? getGlobalPosition();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.core.PxPosition? globalPosition;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.core.text {
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final class AndroidFontResourceLoader implements androidx.ui.text.font.Font.ResourceLoader {
-    ctor public AndroidFontResourceLoader(android.content.Context context);
-    method public android.graphics.Typeface load(androidx.ui.text.font.Font font);
-  }
-
-}
-
-package androidx.ui.internal {
-
-  public final class Unicode {
-    field public static final String ALM = "\u061c";
-    field public static final String FSI = "\u2068";
-    field public static final androidx.ui.internal.Unicode! INSTANCE;
-    field public static final String LRE = "\u202a";
-    field public static final String LRI = "\u2066";
-    field public static final String LRM = "\u200e";
-    field public static final String LRO = "\u202d";
-    field public static final String PDF = "\u202c";
-    field public static final String PDI = "\u2069";
-    field public static final String RLE = "\u202b";
-    field public static final String RLI = "\u2067";
-    field public static final String RLM = "\u200f";
-    field public static final String RLO = "\u202e";
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev03.txt b/ui/ui-platform/api/restricted_0.1.0-dev03.txt
deleted file mode 100644
index bbf059a..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev03.txt
+++ /dev/null
@@ -1,507 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-    ctor public AndroidAutofillDebugUtilsKt();
-  }
-
-  public final class AndroidAutofillKt {
-    ctor public AndroidAutofillKt();
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public void enableModelReadObserving(boolean enabled);
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public final androidx.ui.input.TextInputService textInputService;
-  }
-
-  public final class AndroidOwnerKt {
-    ctor public AndroidOwnerKt();
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    ctor public ComponentNodesKt();
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    ctor public DebugUtilsKt();
-    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.IntPxPosition getContentPosition();
-    method public androidx.ui.core.IntPxSize getContentSize();
-    method public androidx.ui.core.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.IntPxPosition getModifiedPosition();
-    method public androidx.ui.core.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.core.IntPx getWidth();
-    method public androidx.ui.core.IntPx getX();
-    method public androidx.ui.core.IntPx getY();
-    method public inline void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
-    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
-    method public void placeChildren();
-    method public void requestRemeasure();
-    method public void setAffectsParentSize(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setMeasuring(boolean p);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.IntPxPosition contentPosition;
-    property public final androidx.ui.core.IntPxSize contentSize;
-    property public final androidx.ui.core.IntPx height;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.IntPxPosition modifiedPosition;
-    property public final androidx.ui.core.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.core.IntPx width;
-    property public final androidx.ui.core.IntPx x;
-    property public final androidx.ui.core.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntristicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntristicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
-  }
-
-  public interface Owner {
-    method public androidx.ui.core.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
-    method public void enableModelReadObserving(boolean enabled);
-    method public androidx.ui.core.Density getDensity();
-    method public long getMeasureIteration();
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
-    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
-    property public abstract androidx.ui.core.Density density;
-    property public abstract long measureIteration;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.core.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.engine.geometry.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.core.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.engine.geometry.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.core.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.engine.geometry.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
-    ctor public SemanticsComponentNode();
-    method public boolean getContainer();
-    method public boolean getExplicitChildNodes();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    method public void setContainer(boolean p);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final boolean container;
-    property public final boolean explicitChildNodes;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public interface SemanticsTreeNode {
-    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public abstract androidx.ui.engine.geometry.Rect? globalRect;
-    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
-  }
-
-  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
-    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
-    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
-    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
-    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
-    method public androidx.ui.core.SemanticsTreeNode? getParent();
-    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
-    property public androidx.ui.core.semantics.SemanticsConfiguration data;
-    property public androidx.ui.engine.geometry.Rect? globalRect;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-    ctor public SemanticsTreeNodeImplKt();
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    ctor public FocusNodeUtilsKt();
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class HitPathTrackerKt {
-    ctor public HitPathTrackerKt();
-  }
-
-  public final class MotionEventAdapterKt {
-    ctor public MotionEventAdapterKt();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
-    method public int getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-    ctor public PointerInputEventProcessorKt();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public boolean getExplicitChildNodes();
-    method public boolean getHasBeenAnnotated();
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setExplicitChildNodes(boolean p);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean explicitChildNodes;
-    property public final boolean hasBeenAnnotated;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    ctor public SemanticsConfigurationKt();
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode();
-    method public boolean getAttached();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public int getChildrenCount();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public int getDepth();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public boolean getMergeAllDescendantsIntoThisNode();
-    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
-    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
-    method public androidx.ui.engine.geometry.Rect getRect();
-    method public boolean isInvisible();
-    method public boolean isMergedIntoParent();
-    method public boolean isPartOfNodeMerging();
-    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
-    method public void redepthChildren();
-    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
-    method public void setMergedIntoParent(boolean value);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
-    method public void setRect(androidx.ui.engine.geometry.Rect value);
-    property public final boolean attached;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final int childrenCount;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final int depth;
-    property public final boolean hasChildren;
-    property public final boolean isInvisible;
-    property public final boolean isMergedIntoParent;
-    property public final boolean isPartOfNodeMerging;
-    property public final boolean mergeAllDescendantsIntoThisNode;
-    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
-    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
-    property public final androidx.ui.engine.geometry.Rect rect;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
-  }
-
-  public final class SemanticsNodeKt {
-    ctor public SemanticsNodeKt();
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner();
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-    ctor public InputStateKt();
-  }
-
-  public final class RecordingInputConnectionKt {
-    ctor public RecordingInputConnectionKt();
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    ctor public CoroutineUtilsKt();
-    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev04.txt b/ui/ui-platform/api/restricted_0.1.0-dev04.txt
deleted file mode 100644
index 0b5be23..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev04.txt
+++ /dev/null
@@ -1,505 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.unit.DensityScope androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedBack getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedBack hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.unit.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.unit.PxPosition childLocal);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static androidx.ui.unit.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.unit.PxPosition global, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.unit.IntPxPosition global, boolean withOwnerOffset = true);
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.unit.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.unit.PxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.unit.IntPxPosition local, boolean withOwnerOffset = true);
-    method public static androidx.ui.unit.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
-    method public static androidx.ui.unit.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.IntPxPosition getContentPosition();
-    method public androidx.ui.unit.IntPxSize getContentSize();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.unit.IntPxPosition getModifiedPosition();
-    method public androidx.ui.unit.IntPxSize getModifiedSize();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public androidx.ui.unit.IntPx getX();
-    method public androidx.ui.unit.IntPx getY();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.unit.IntPxPosition contentPosition;
-    property public final androidx.ui.unit.IntPxSize contentSize;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.unit.IntPxPosition modifiedPosition;
-    property public final androidx.ui.unit.IntPxSize modifiedSize;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-    property public final androidx.ui.unit.IntPx x;
-    property public final androidx.ui.unit.IntPx y;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.unit.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, int id);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedBack {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackConstants hapticFeedbackConstants);
-  }
-
-  public enum HapticFeedbackConstants {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackConstants LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackConstants TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev05.txt b/ui/ui-platform/api/restricted_0.1.0-dev05.txt
deleted file mode 100644
index b5dc8660..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev05.txt
+++ /dev/null
@@ -1,497 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev06.txt b/ui/ui-platform/api/restricted_0.1.0-dev06.txt
deleted file mode 100644
index 4604adb..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev06.txt
+++ /dev/null
@@ -1,512 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.AndroidOwner androidx.ui.core.SemanticsTreeProvider {
-    ctor public AndroidComposeView(android.content.Context context);
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void removeAndroidView(android.view.View view);
-    method public void sendEvent(android.view.MotionEvent event);
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public final androidx.ui.autofill.Autofill? autofill;
-    property public final androidx.ui.autofill.AutofillTree autofillTree;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.unit.Density density;
-    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public final androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public long measureIteration;
-    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
-    property public final androidx.ui.core.LayoutNode root;
-    property public androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public boolean showLayoutBounds;
-    property public final androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.AndroidComposeView.Companion! Companion;
-  }
-
-  public static final class AndroidComposeView.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-  }
-
-  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
-    method public void emitMove(int from, int to, int count);
-    method public void emitRemoveAt(int index, int count);
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.unit.Density getDensity();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public void measureAndLayout();
-    method public void observeDrawModelReads(androidx.ui.core.RepaintBoundaryNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
-    ctor public RepaintBoundaryNode(String? name);
-    method public boolean getClipToShape();
-    method public androidx.ui.unit.Dp getElevation();
-    method public String? getName();
-    method public float getOpacity();
-    method public androidx.ui.graphics.Shape? getShape();
-    method public void setClipToShape(boolean value);
-    method public void setElevation(androidx.ui.unit.Dp value);
-    method public void setOpacity(float value);
-    method public void setShape(androidx.ui.graphics.Shape? value);
-    property public final boolean clipToShape;
-    property public final androidx.ui.unit.Dp elevation;
-    property public final float opacity;
-    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
-    property public final androidx.ui.graphics.Shape? shape;
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openLink(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev07.txt b/ui/ui-platform/api/restricted_0.1.0-dev07.txt
deleted file mode 100644
index 47ef037..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev07.txt
+++ /dev/null
@@ -1,495 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public void removeAndroidView(android.view.View view);
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.Owner createOwner(android.content.Context context);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.Density,kotlin.Unit> drawBlock);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public final void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates layoutCoordinates);
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class PointerInputModifier implements androidx.ui.core.Modifier.Element {
-    ctor public PointerInputModifier(androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter);
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev08.txt b/ui/ui-platform/api/restricted_0.1.0-dev08.txt
deleted file mode 100644
index a5bad10..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev08.txt
+++ /dev/null
@@ -1,498 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.unit.Density density);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class LayoutNodeWrapperKt {
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public boolean getHasElevation();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void setElevationRiseListener(kotlin.jvm.functions.Function0<kotlin.Unit>? block);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract boolean hasElevation;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.Density,kotlin.Unit> drawBlock);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class Ref<T> {
-    ctor public Ref();
-    method public T? getValue();
-    method public void setValue(T? p);
-    property public final T? value;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-  public final class SemanticsTreeNodeImplKt {
-  }
-
-  public interface SemanticsTreeProvider {
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticNodes();
-    method public void sendEvent(android.view.MotionEvent event);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public abstract kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev09.txt b/ui/ui-platform/api/restricted_0.1.0-dev09.txt
deleted file mode 100644
index 23d470c..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev09.txt
+++ /dev/null
@@ -1,512 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class AndroidOwner.Companion {
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? getOnAndroidOwnerCreatedCallback();
-    method public void setOnAndroidOwnerCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.ui.core.AndroidOwner,kotlin.Unit>? p);
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? onAndroidOwnerCreatedCallback;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public androidx.ui.unit.IntPx getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection? getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public androidx.ui.unit.IntPx getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.IntPx width);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.IntPx height);
-    method public void onInvalidate();
-    method public void place(androidx.ui.unit.IntPx x, androidx.ui.unit.IntPx y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection? p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final androidx.ui.unit.IntPx height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection? layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final androidx.ui.unit.IntPx width;
-  }
-
-  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
-    ctor public LayoutNode.InnerMeasureScope();
-    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
-    property public abstract androidx.ui.core.LayoutNode layoutNode;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public androidx.ui.unit.IntPx maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.unit.IntPx minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth(androidx.ui.unit.Density density, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.unit.IntPx h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
-    ctor public SemanticsComponentNode(int id, androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration);
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getLocalSemanticsConfiguration();
-    method public androidx.ui.core.semantics.SemanticsNode getSemanticsNode();
-    method public boolean hasSemanticsComponentNodeInTree$lintWithKotlin();
-    method public void invalidateSemanticsComponentNode$lintWithKotlin();
-    method public void setLocalSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
-    property public final androidx.ui.core.semantics.SemanticsConfiguration localSemanticsConfiguration;
-    property public final androidx.ui.core.semantics.SemanticsNode semanticsNode;
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    ctor public PointerInputEventData(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy(androidx.ui.core.PointerId id, androidx.ui.core.PointerInputData pointerInputData);
-    method public androidx.ui.core.PointerId getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public final class SemanticsNode {
-    ctor public SemanticsNode(androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig, androidx.ui.core.SemanticsComponentNode componentNode);
-    method public boolean getAttached();
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getUnmergedChildren();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
-    property public final boolean attached;
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> unmergedChildren;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration unmergedConfig;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev10.txt b/ui/ui-platform/api/restricted_0.1.0-dev10.txt
deleted file mode 100644
index 6b29995..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev10.txt
+++ /dev/null
@@ -1,525 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class AndroidOwner.Companion {
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? getOnAndroidOwnerCreatedCallback();
-    method public void setOnAndroidOwnerCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.ui.core.AndroidOwner,kotlin.Unit>? p);
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? onAndroidOwnerCreatedCallback;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor public FocusNode();
-    method public boolean captureFocus();
-    method public boolean freeFocus();
-    method public androidx.ui.focus.FocusDetailedState getFocusState();
-    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
-    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
-    method public void requestFocus(boolean propagateFocus = true);
-    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
-    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
-    property public final androidx.ui.focus.FocusDetailedState focusState;
-    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
-    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-    method public static void initializeFocusState(androidx.ui.core.FocusNode);
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class MotionEventAdapter {
-    ctor public MotionEventAdapter();
-  }
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.semantics.SemanticsModifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, androidx.ui.text.AnnotatedString text);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev11.txt b/ui/ui-platform/api/restricted_0.1.0-dev11.txt
deleted file mode 100644
index b912594..0000000
--- a/ui/ui-platform/api/restricted_0.1.0-dev11.txt
+++ /dev/null
@@ -1,514 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class AndroidOwner.Companion {
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? getOnAndroidOwnerCreatedCallback();
-    method public void setOnAndroidOwnerCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.ui.core.AndroidOwner,kotlin.Unit>? p);
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? onAndroidOwnerCreatedCallback;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor @Deprecated public FocusNode();
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
-    method public void hide();
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
-    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
-  }
-
-  public enum TextToolbarStatus {
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/api/restricted_current.txt b/ui/ui-platform/api/restricted_current.txt
deleted file mode 100644
index b912594..0000000
--- a/ui/ui-platform/api/restricted_current.txt
+++ /dev/null
@@ -1,514 +0,0 @@
-// Signature format: 3.0
-package androidx.ui.autofill {
-
-  public final class AndroidAutofillDebugUtilsKt {
-  }
-
-  public final class AndroidAutofillKt {
-  }
-
-  public final class AndroidAutofillTypeKt {
-  }
-
-}
-
-package androidx.ui.core {
-
-  public interface AndroidOwner extends androidx.ui.core.Owner {
-    method public void addAndroidView(android.view.View view, androidx.ui.core.LayoutNode layoutNode);
-    method public android.view.View getView();
-    method public void removeAndroidView(android.view.View view);
-    property public abstract android.view.View view;
-  }
-
-  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class AndroidOwner.Companion {
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? getOnAndroidOwnerCreatedCallback();
-    method public void setOnAndroidOwnerCreatedCallback(kotlin.jvm.functions.Function1<? super androidx.ui.core.AndroidOwner,kotlin.Unit>? p);
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.AndroidOwner,kotlin.Unit>? onAndroidOwnerCreatedCallback;
-  }
-
-  public final class AndroidOwnerKt {
-    method public static androidx.ui.core.AndroidOwner createOwner(android.content.Context context, androidx.lifecycle.LifecycleOwner? lifecycleOwner = null);
-    method public static androidx.ui.core.LayoutDirection getLocaleLayoutDirection(android.content.res.Configuration);
-  }
-
-  public abstract sealed class ComponentNode {
-    method public void attach(androidx.ui.core.Owner owner);
-    method public void detach();
-    method public final operator androidx.ui.core.ComponentNode get(int index);
-    method public final int getCount();
-    method public final int getDepth();
-    method public final androidx.ui.core.Owner? getOwner();
-    method public final Object? getOwnerData();
-    method public final androidx.ui.core.ComponentNode? getParent();
-    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
-    method public final void insertAt(int index, androidx.ui.core.ComponentNode instance);
-    method public final void move(int from, int to, int count);
-    method public final void removeAt(int index, int count);
-    method public final void setDepth(int p);
-    method public final void setOwnerData(Object? p);
-    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
-    property public final int count;
-    property public final int depth;
-    property public final androidx.ui.core.Owner? owner;
-    property public final Object? ownerData;
-    property public final androidx.ui.core.ComponentNode? parent;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-  }
-
-  public final class ComponentNodesKt {
-    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
-    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
-    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
-    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
-    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
-    method public static boolean isAttached(androidx.ui.core.ComponentNode);
-    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
-    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
-  }
-
-  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
-    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
-    method public androidx.ui.core.DataNodeKey<T> getKey();
-    method public T! getValue();
-    method public void setValue(T? p);
-  }
-
-  public final class DataNodeKey<T> {
-    ctor public DataNodeKey(String name);
-    method public String getName();
-  }
-
-  public final class DebugUtilsKt {
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static String simpleIdentityToString(Object obj, String? name = null);
-  }
-
-  public final class DrawNode extends androidx.ui.core.ComponentNode {
-    ctor public DrawNode();
-    method public boolean getNeedsPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaint();
-    method public kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? getOnPaintWithChildren();
-    method public void invalidate();
-    method public void setNeedsPaint(boolean p);
-    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.unit.Density,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.ContentDrawScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.unit.PxSize,kotlin.Unit>? value);
-    property public final boolean needsPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.unit.Density,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaint;
-    property public final kotlin.jvm.functions.Function3<androidx.ui.core.ContentDrawScope,androidx.ui.graphics.Canvas,androidx.ui.unit.PxSize,kotlin.Unit>? onPaintWithChildren;
-  }
-
-  @Deprecated public final class FocusNode extends androidx.ui.core.ComponentNode {
-    ctor @Deprecated public FocusNode();
-  }
-
-  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
-    ctor public LayoutNode();
-    method public void draw(androidx.ui.graphics.Canvas canvas);
-    method public boolean getAffectsParentSize();
-    method public androidx.ui.unit.IntPx? getAlignmentLine(androidx.ui.core.AlignmentLine line);
-    method @Deprecated public boolean getCanMultiMeasure();
-    method public androidx.ui.core.Constraints getConstraints();
-    method public androidx.ui.core.LayoutNode? getContainingLayoutNode$lintWithKotlin();
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method @Deprecated public boolean getHandlesParentData();
-    method public int getHeight();
-    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
-    method public androidx.ui.core.LayoutDirection getLayoutDirection();
-    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
-    method public androidx.ui.core.MeasureScope getMeasureScope();
-    method public androidx.ui.core.Modifier getModifier();
-    method public java.util.List<androidx.ui.core.ModifierInfo> getModifierInfo();
-    method public boolean getNeedsRelayout();
-    method public boolean getNeedsRemeasure();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnAttach();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? getOnDetach();
-    method public Object? getParentData();
-    method public boolean getPositionedDuringMeasurePass();
-    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
-    method public int getWidth();
-    method public boolean hitTest(androidx.ui.unit.PxPosition pointerPositionRelativeToScreen, java.util.List<androidx.ui.core.pointerinput.PointerInputFilter> hitPointerInputFilters);
-    method public void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean isLayingOut();
-    method public boolean isMeasuring();
-    method public boolean isPlaced();
-    method public void layout();
-    method public int maxIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-Ujlv2dA(int width, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-Ujlv2dA(int height, androidx.ui.core.LayoutDirection layoutDirection);
-    method public void onInvalidate();
-    method public void place-rRMsBxU(int x, int y);
-    method public void requestRemeasure();
-    method @Deprecated public void setCanMultiMeasure(boolean p);
-    method public void setConstraints(androidx.ui.core.Constraints p);
-    method @Deprecated public void setHandlesParentData(boolean p);
-    method public void setLayoutDirection(androidx.ui.core.LayoutDirection p);
-    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
-    method public void setModifier(androidx.ui.core.Modifier value);
-    method public void setOnAttach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setOnDetach(kotlin.jvm.functions.Function1<? super androidx.ui.core.Owner,kotlin.Unit>? p);
-    method public void setPositionedDuringMeasurePass(boolean p);
-    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
-    property public final boolean affectsParentSize;
-    property @Deprecated public final boolean canMultiMeasure;
-    property public final androidx.ui.core.Constraints constraints;
-    property public androidx.ui.core.LayoutNode? containingLayoutNode;
-    property public final androidx.ui.core.LayoutCoordinates coordinates;
-    property @Deprecated public final boolean handlesParentData;
-    property public final int height;
-    property public final boolean isLayingOut;
-    property public final boolean isMeasuring;
-    property public final boolean isPlaced;
-    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
-    property public final androidx.ui.core.LayoutDirection layoutDirection;
-    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
-    property public final androidx.ui.core.MeasureScope measureScope;
-    property public final androidx.ui.core.Modifier modifier;
-    property public final boolean needsRelayout;
-    property public final boolean needsRemeasure;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onAttach;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.Owner,kotlin.Unit>? onDetach;
-    property public Object? parentData;
-    property public androidx.ui.core.LayoutNode? parentLayoutNode;
-    property public final boolean positionedDuringMeasurePass;
-    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
-    property public final int width;
-  }
-
-  public static interface LayoutNode.MeasureBlocks {
-    method public int maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public androidx.ui.core.MeasureScope.MeasureResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public int minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public abstract static class LayoutNode.NoIntrinsicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
-    ctor public LayoutNode.NoIntrinsicsMeasureBlocks(String error);
-    method public Void maxIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void maxIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicHeight-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int w, androidx.ui.core.LayoutDirection layoutDirection);
-    method public Void minIntrinsicWidth-5Bu9FwI(androidx.ui.core.IntrinsicMeasureScope intrinsicMeasureScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, int h, androidx.ui.core.LayoutDirection layoutDirection);
-  }
-
-  public final class ModelObserver {
-    ctor public ModelObserver(kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> commitExecutor);
-    method public void clear(Object target);
-    method public void enableModelUpdatesObserving(boolean enabled);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> getFrameCommitObserver();
-    method public <T> void observeReads(T target, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> onCommit, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void pauseObservingReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    property @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function2<java.util.Set<?>,androidx.compose.frames.Frame,kotlin.Unit> frameCommitObserver;
-  }
-
-  public final class ModifierInfo {
-    ctor public ModifierInfo(androidx.ui.core.Modifier modifier, androidx.ui.core.LayoutCoordinates coordinates, Object? extra);
-    method public androidx.ui.core.LayoutCoordinates getCoordinates();
-    method public Object? getExtra();
-    method public androidx.ui.core.Modifier getModifier();
-  }
-
-  public interface OwnedLayer {
-    method public void destroy();
-    method public void drawLayer(androidx.ui.graphics.Canvas canvas);
-    method public long getLayerId();
-    method public android.graphics.Matrix getMatrix();
-    method public void invalidate();
-    method public void move(androidx.ui.unit.IntPxPosition position);
-    method public void resize(androidx.ui.unit.IntPxSize size);
-    method public void updateDisplayList();
-    method public void updateLayerProperties();
-    property public abstract long layerId;
-  }
-
-  public interface Owner {
-    method public androidx.ui.unit.IntPxPosition calculatePosition();
-    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.unit.PxSize parentSize);
-    method public androidx.ui.core.OwnedLayer createLayer(androidx.ui.core.DrawLayerModifier drawLayerModifier, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Canvas,kotlin.Unit> drawBlock, kotlin.jvm.functions.Function0<kotlin.Unit> invalidateParentLayer);
-    method public androidx.ui.autofill.Autofill? getAutofill();
-    method public androidx.ui.autofill.AutofillTree getAutofillTree();
-    method public androidx.ui.core.clipboard.ClipboardManager getClipboardManager();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
-    method public androidx.ui.unit.Density getDensity();
-    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
-    method public androidx.ui.core.hapticfeedback.HapticFeedback getHapticFeedBack();
-    method public androidx.lifecycle.LifecycleOwner? getLifecycleOwner();
-    method public long getMeasureIteration();
-    method public androidx.ui.core.LayoutNode getRoot();
-    method public androidx.ui.savedinstancestate.UiSavedStateRegistry? getSavedStateRegistry();
-    method public androidx.ui.core.semantics.SemanticsOwner getSemanticsOwner();
-    method public boolean getShowLayoutBounds();
-    method public androidx.ui.input.TextInputService getTextInputService();
-    method public androidx.ui.core.texttoolbar.TextToolbar getTextToolbar();
-    method public void measureAndLayout();
-    method public void observeLayoutModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void observeMeasureModelReads(androidx.ui.core.LayoutNode node, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public void onAttach(androidx.ui.core.ComponentNode node);
-    method public void onDetach(androidx.ui.core.ComponentNode node);
-    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
-    method public void onInvalidate(androidx.ui.core.LayoutNode layoutNode);
-    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
-    method public void pauseModelReadObserveration(kotlin.jvm.functions.Function0<kotlin.Unit> block);
-    method public boolean requestFocus();
-    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setOnLifecycleOwnerAvailable(kotlin.jvm.functions.Function1<? super androidx.lifecycle.LifecycleOwner,kotlin.Unit> callback);
-    method public void setOnSavedStateRegistryAvailable(kotlin.jvm.functions.Function1<? super androidx.ui.savedinstancestate.UiSavedStateRegistry,kotlin.Unit> callback);
-    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setShowLayoutBounds(boolean p);
-    property public abstract androidx.ui.autofill.Autofill? autofill;
-    property public abstract androidx.ui.autofill.AutofillTree autofillTree;
-    property public abstract androidx.ui.core.clipboard.ClipboardManager clipboardManager;
-    property public abstract kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
-    property public abstract androidx.ui.unit.Density density;
-    property public abstract androidx.ui.text.font.Font.ResourceLoader fontLoader;
-    property public abstract androidx.ui.core.hapticfeedback.HapticFeedback hapticFeedBack;
-    property public abstract androidx.lifecycle.LifecycleOwner? lifecycleOwner;
-    property public abstract long measureIteration;
-    property public abstract androidx.ui.core.LayoutNode root;
-    property public abstract androidx.ui.savedinstancestate.UiSavedStateRegistry? savedStateRegistry;
-    property public abstract androidx.ui.core.semantics.SemanticsOwner semanticsOwner;
-    property public abstract boolean showLayoutBounds;
-    property public abstract androidx.ui.input.TextInputService textInputService;
-    property public abstract androidx.ui.core.texttoolbar.TextToolbar textToolbar;
-    field public static final androidx.ui.core.Owner.Companion! Companion;
-  }
-
-  public static final class Owner.Companion {
-    method public boolean getEnableExtraAssertions();
-    method public void setEnableExtraAssertions(boolean p);
-    property public final boolean enableExtraAssertions;
-  }
-
-  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
-    ctor public PointerInputNode();
-    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
-    method public kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? getCustomEventHandler();
-    method public kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? getInitHandler();
-    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
-    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
-    method public void setCustomEventHandler(kotlin.jvm.functions.Function2<? super androidx.ui.core.CustomEvent,? super androidx.ui.core.PointerEventPass,kotlin.Unit>? p);
-    method public void setInitHandler(kotlin.jvm.functions.Function1<? super androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? p);
-    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.unit.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
-    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
-    property public final kotlin.jvm.functions.Function2<androidx.ui.core.CustomEvent,androidx.ui.core.PointerEventPass,kotlin.Unit>? customEventHandler;
-    property public final kotlin.jvm.functions.Function1<androidx.ui.core.CustomEventDispatcher,kotlin.Unit>? initHandler;
-    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.unit.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
-  }
-
-  public final class SavedStateDelegateKt {
-  }
-
-}
-
-package androidx.ui.core.clipboard {
-
-  public final class AndroidClipboardManagerKt {
-  }
-
-  public interface ClipboardManager {
-    method public androidx.ui.text.AnnotatedString? getText();
-    method public void setText(androidx.ui.text.AnnotatedString annotatedString);
-  }
-
-}
-
-package androidx.ui.core.focus {
-
-  public final class FocusModifierImplKt {
-    method public static androidx.ui.focus.FocusModifier createFocusModifier(androidx.ui.focus.FocusDetailedState focusDetailedState);
-  }
-
-  public final class FocusNodeUtilsKt {
-  }
-
-}
-
-package androidx.ui.core.hapticfeedback {
-
-  public interface HapticFeedback {
-    method public void performHapticFeedback(androidx.ui.core.hapticfeedback.HapticFeedbackType hapticFeedbackType);
-  }
-
-  public enum HapticFeedbackType {
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType LongPress;
-    enum_constant public static final androidx.ui.core.hapticfeedback.HapticFeedbackType TextHandleMove;
-  }
-
-}
-
-package androidx.ui.core.pointerinput {
-
-  public final class PointerInputEventData {
-    method public long component1();
-    method public androidx.ui.core.PointerInputData component2();
-    method public androidx.ui.core.pointerinput.PointerInputEventData copy-tII9_pY(long id, androidx.ui.core.PointerInputData pointerInputData);
-    method public long getId();
-    method public androidx.ui.core.PointerInputData getPointerInputData();
-  }
-
-  public final class PointerInputEventProcessorKt {
-  }
-
-  public abstract class PointerInputFilter {
-    ctor public PointerInputFilter();
-    method public abstract void onCancel();
-    method public void onCustomEvent(androidx.ui.core.CustomEvent customEvent, androidx.ui.core.PointerEventPass pass);
-    method public void onInit(androidx.ui.core.CustomEventDispatcher customEventDispatcher);
-    method public abstract java.util.List<androidx.ui.core.PointerInputChange> onPointerInput(java.util.List<androidx.ui.core.PointerInputChange> changes, androidx.ui.core.PointerEventPass pass, androidx.ui.unit.IntPxSize bounds);
-  }
-
-  public interface PointerInputModifier extends androidx.ui.core.Modifier.Element {
-    method public androidx.ui.core.pointerinput.PointerInputFilter getPointerInputFilter();
-    property public abstract androidx.ui.core.pointerinput.PointerInputFilter pointerInputFilter;
-  }
-
-}
-
-package androidx.ui.core.semantics {
-
-  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
-    ctor public SemanticsConfiguration();
-    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
-    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
-    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
-    method public boolean isEmpty();
-    method public boolean isMergingSemanticsOfDescendants();
-    method public boolean isSemanticBoundary();
-    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
-    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
-    method public void setMergingSemanticsOfDescendants(boolean value);
-    method public void setSemanticBoundary(boolean value);
-    property public final boolean isEmpty;
-    property public final boolean isMergingSemanticsOfDescendants;
-    property public final boolean isSemanticBoundary;
-  }
-
-  public final class SemanticsConfigurationKt {
-    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
-  }
-
-  public final class SemanticsHintOverrides {
-    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
-    method public String? component1();
-    method public String? component2();
-    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
-    method public String? getOnLongPressHint();
-    method public String? getOnTapHint();
-    method public boolean isNotEmpty();
-    property public final boolean isNotEmpty;
-  }
-
-  public interface SemanticsModifier extends androidx.ui.core.Modifier.Element {
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
-    property public abstract int id;
-    property public abstract androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
-  }
-
-  public final class SemanticsModifierKt {
-    method @Deprecated public static androidx.ui.core.Modifier semanticsCore(androidx.ui.core.Modifier, boolean container = false, boolean mergeAllDescendants = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null);
-  }
-
-  public final class SemanticsNode {
-    method public androidx.ui.unit.PxBounds getBoundsInRoot();
-    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
-    method public androidx.ui.core.ComponentNode getComponentNode();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
-    method public androidx.ui.unit.PxBounds getGlobalBounds();
-    method public androidx.ui.unit.PxPosition getGlobalPosition();
-    method public boolean getHasChildren();
-    method public int getId();
-    method public androidx.ui.core.semantics.SemanticsNode? getParent();
-    method public androidx.ui.unit.IntPxSize getSize();
-    method public androidx.ui.core.semantics.SemanticsConfiguration getUnmergedConfig();
-    method public boolean isSemanticBoundary();
-    method public void setComponentNode(androidx.ui.core.ComponentNode p);
-    property public final androidx.ui.unit.PxBounds boundsInRoot;
-    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
-    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
-    property public final androidx.ui.unit.PxBounds globalBounds;
-    property public final androidx.ui.unit.PxPosition globalPosition;
-    property public final boolean hasChildren;
-    property public final boolean isSemanticBoundary;
-    property public final androidx.ui.core.semantics.SemanticsNode? parent;
-    property public final androidx.ui.unit.IntPxSize size;
-    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
-  }
-
-  public static final class SemanticsNode.Companion {
-    method public int generateNewId();
-  }
-
-  public final class SemanticsNodeKt {
-    method public static androidx.ui.core.semantics.SemanticsNode? findClosestParentNode(androidx.ui.core.semantics.SemanticsNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsNode,java.lang.Boolean> selector);
-  }
-
-  public final class SemanticsOwner {
-    ctor public SemanticsOwner(androidx.ui.core.ComponentNode rootNode);
-    method public androidx.ui.core.semantics.SemanticsNode getRootSemanticsNode();
-    property public final androidx.ui.core.semantics.SemanticsNode rootSemanticsNode;
-  }
-
-  public final class SemanticsOwnerKt {
-    method public static java.util.List<androidx.ui.core.semantics.SemanticsNode> getAllSemanticsNodes(androidx.ui.core.semantics.SemanticsOwner);
-  }
-
-}
-
-package androidx.ui.core.texttoolbar {
-
-  public interface TextToolbar {
-    method public androidx.ui.core.texttoolbar.TextToolbarStatus getStatus();
-    method public void hide();
-    method public void showCopyMenu(androidx.ui.geometry.Rect rect, kotlin.jvm.functions.Function0<kotlin.Unit> onDeselectRequested, kotlin.jvm.functions.Function0<kotlin.Unit> onCopyRequested);
-    property public abstract androidx.ui.core.texttoolbar.TextToolbarStatus status;
-  }
-
-  public enum TextToolbarStatus {
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Hidden;
-    enum_constant public static final androidx.ui.core.texttoolbar.TextToolbarStatus Shown;
-  }
-
-}
-
-package androidx.ui.core.texttoolbar.actionmodecallback {
-
-  public final class TextActionModeCallbackKt {
-  }
-
-}
-
-package androidx.ui.input {
-
-  public final class InputStateKt {
-  }
-
-  public final class RecordingInputConnectionKt {
-  }
-
-}
-
-package androidx.ui.platform {
-
-  public final class AndroidUriHandler implements androidx.ui.platform.UriHandler {
-    ctor public AndroidUriHandler(android.content.Context context);
-    method public void openUri(String uri);
-  }
-
-  public interface UriHandler {
-    method public void openUri(String uri);
-  }
-
-}
-
-package androidx.ui.temputils {
-
-  public final class CoroutineUtilsKt {
-    method public static kotlinx.coroutines.Job delay(androidx.ui.unit.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
-  }
-
-}
-
diff --git a/ui/ui-platform/build.gradle b/ui/ui-platform/build.gradle
deleted file mode 100644
index fc30515..0000000
--- a/ui/ui-platform/build.gradle
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import androidx.build.LibraryGroups
-import androidx.build.LibraryVersions
-import androidx.build.Publish
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-import static androidx.build.dependencies.DependenciesKt.*
-// TODO(pavlis): Make this a multi-platform module
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
-}
-
-dependencies {
-    kotlinPlugin project(path: ":compose:compose-compiler")
-    implementation(KOTLIN_STDLIB)
-
-    implementation "androidx.autofill:autofill:1.0.0"
-    implementation "androidx.core:core:1.0.2"
-    implementation "androidx.lifecycle:lifecycle-runtime:2.3.0-alpha01"
-
-    implementation project(":compose:compose-runtime")
-    api project(":ui:ui-core")
-    api project(":ui:ui-text-core")
-    implementation project(":ui:ui-util")
-    implementation project(":ui:ui-saved-instance-state")
-
-    testImplementation(ANDROIDX_TEST_RULES)
-    testImplementation(ANDROIDX_TEST_RUNNER)
-    testImplementation(JUNIT)
-    testImplementation(ROBOLECTRIC)
-    testImplementation(MOCKITO_CORE)
-    testImplementation(TRUTH)
-    testImplementation MOCKITO_KOTLIN, {
-        exclude group: 'org.mockito' // to keep control on the mockito version
-    }
-
-    testImplementation project(":ui:ui-test")
-
-    androidTestImplementation(ANDROIDX_TEST_RULES)
-    androidTestImplementation(ANDROIDX_TEST_RUNNER)
-    androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation(JUNIT)
-    androidTestImplementation(TRUTH)
-    androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
-    androidTestImplementation MOCKITO_KOTLIN, {
-        exclude group: 'org.mockito' // to keep control on the mockito version
-    }
-
-    androidTestImplementation project(":ui:ui-foundation")
-    androidTestImplementation project(":ui:ui-framework")
-    androidTestImplementation project(":ui:ui-platform:samples")
-    androidTestImplementation project(":ui:ui-test")
-}
-
-androidx {
-    name = "AndroidX UI Platform"
-    publish = Publish.SNAPSHOT_AND_RELEASE
-    mavenVersion = LibraryVersions.UI
-    mavenGroup = LibraryGroups.UI
-    inceptionYear = "2019"
-    description = "Contains internal implementation that allows separation of android implementation from host-side tests."
-}
-
-tasks.withType(KotlinCompile).configureEach {
-    kotlinOptions {
-        useIR = true
-    }
-}
-
-android {
-    testOptions {
-        unitTests {
-            includeAndroidResources = true
-        }
-    }
-
-    buildTypes.all {
-        consumerProguardFiles("proguard-rules.pro")
-    }
-}
\ No newline at end of file
diff --git a/ui/ui-platform/samples/build.gradle b/ui/ui-platform/samples/build.gradle
deleted file mode 100644
index 246204a..0000000
--- a/ui/ui-platform/samples/build.gradle
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-import static androidx.build.dependencies.DependenciesKt.*
-
-plugins {
-    id("AndroidXPlugin")
-    id("com.android.library")
-    id("AndroidXUiPlugin")
-    id("org.jetbrains.kotlin.android")
-}
-
-dependencies {
-    kotlinPlugin project(path: ":compose:compose-compiler")
-
-    implementation(KOTLIN_STDLIB)
-
-    implementation project(":annotation:annotation-sampled")
-
-    implementation project(":compose:compose-runtime")
-    implementation project(":ui:ui-platform")
-}
-
-android {
-    tasks.withType(KotlinCompile).configureEach {
-        kotlinOptions {
-            useIR = true
-        }
-    }
-}
diff --git a/ui/ui-platform/samples/src/main/AndroidManifest.xml b/ui/ui-platform/samples/src/main/AndroidManifest.xml
deleted file mode 100644
index 3383dcf..0000000
--- a/ui/ui-platform/samples/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<!--
-  ~ Copyright (C) 2019 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License
-  -->
-
-<manifest package="androidx.ui.platform.samples" />
diff --git a/ui/ui-platform/src/androidTest/AndroidManifest.xml b/ui/ui-platform/src/androidTest/AndroidManifest.xml
deleted file mode 100644
index 9de696f..0000000
--- a/ui/ui-platform/src/androidTest/AndroidManifest.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2019 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="androidx.ui.platform.test">
-
-    <application>
-        <activity android:name="androidx.ui.core.AndroidPointerInputTestActivity" />
-    </application>
-</manifest>
-
diff --git a/ui/ui-saved-instance-state/build.gradle b/ui/ui-saved-instance-state/build.gradle
index 8c7aeb9..035518f 100644
--- a/ui/ui-saved-instance-state/build.gradle
+++ b/ui/ui-saved-instance-state/build.gradle
@@ -43,7 +43,7 @@
     testImplementation(TRUTH)
 
     androidTestImplementation project(':ui:ui-test')
-    androidTestImplementation project(':ui:ui-framework')
+    androidTestImplementation project(':ui:ui-core')
     androidTestImplementation(ANDROIDX_TEST_UIAUTOMATOR)
     androidTestImplementation(ANDROIDX_TEST_CORE)
     androidTestImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-test/api/0.1.0-dev11.txt b/ui/ui-test/api/0.1.0-dev11.txt
index fcc20c2..1e0a947 100644
--- a/ui/ui-test/api/0.1.0-dev11.txt
+++ b/ui/ui-test/api/0.1.0-dev11.txt
@@ -24,6 +24,8 @@
 
   public final class AssertionsKt {
     method public static androidx.ui.test.SemanticsNodeInteraction assert(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
@@ -41,6 +43,7 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
   }
 
@@ -50,6 +53,7 @@
   public final class BitmapHelpersKt {
     method public static void assertPixelColor-9bBi3KA(android.graphics.Bitmap, long expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> return "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
     method public static void assertPixels(android.graphics.Bitmap, androidx.ui.unit.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.unit.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape-2l1GYV8(android.graphics.Bitmap, androidx.ui.unit.Density density, float horizontalPadding, float verticalPadding, long backgroundColor, long shapeColor, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float shapeOverlapPixelCount = 1.px);
     method public static void assertShape-nbwoFSQ(android.graphics.Bitmap, androidx.ui.unit.Density density, androidx.ui.graphics.Shape shape, long shapeColor, long backgroundColor, androidx.ui.graphics.Shape backgroundShape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float sizeX = width.toFloat().px, float sizeY = height.toFloat().px, float shapeSizeX = sizeX, float shapeSizeY = sizeY, float centerX = width.px / 2.0, float centerY = height.px / 2.0, float shapeOverlapPixelCount = 1.px);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(android.view.View);
@@ -157,6 +161,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
     method public static androidx.ui.test.SemanticsMatcher hasNoScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasParentThat(androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsMatcher hasRangeInfo(androidx.ui.semantics.AccessibilityRangeInfo rangeInfo);
     method public static androidx.ui.test.SemanticsMatcher hasScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasSubstring(String substring, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasTestTag(String testTag);
@@ -235,7 +240,10 @@
     method public static androidx.ui.test.SemanticsNodeInteraction child(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction childAt(androidx.ui.test.SemanticsNodeInteraction, int index);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection children(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection filter(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteraction filterToOne(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteraction first(androidx.ui.test.SemanticsNodeInteractionCollection);
+    method public static androidx.ui.test.SemanticsNodeInteraction last(androidx.ui.test.SemanticsNodeInteractionCollection);
     method public static androidx.ui.test.SemanticsNodeInteraction parent(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction sibling(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection siblings(androidx.ui.test.SemanticsNodeInteraction);
diff --git a/ui/ui-test/api/current.txt b/ui/ui-test/api/current.txt
index fcc20c2..1e0a947 100644
--- a/ui/ui-test/api/current.txt
+++ b/ui/ui-test/api/current.txt
@@ -24,6 +24,8 @@
 
   public final class AssertionsKt {
     method public static androidx.ui.test.SemanticsNodeInteraction assert(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
@@ -41,6 +43,7 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
   }
 
@@ -50,6 +53,7 @@
   public final class BitmapHelpersKt {
     method public static void assertPixelColor-9bBi3KA(android.graphics.Bitmap, long expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> return "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
     method public static void assertPixels(android.graphics.Bitmap, androidx.ui.unit.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.unit.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape-2l1GYV8(android.graphics.Bitmap, androidx.ui.unit.Density density, float horizontalPadding, float verticalPadding, long backgroundColor, long shapeColor, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float shapeOverlapPixelCount = 1.px);
     method public static void assertShape-nbwoFSQ(android.graphics.Bitmap, androidx.ui.unit.Density density, androidx.ui.graphics.Shape shape, long shapeColor, long backgroundColor, androidx.ui.graphics.Shape backgroundShape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float sizeX = width.toFloat().px, float sizeY = height.toFloat().px, float shapeSizeX = sizeX, float shapeSizeY = sizeY, float centerX = width.px / 2.0, float centerY = height.px / 2.0, float shapeOverlapPixelCount = 1.px);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(android.view.View);
@@ -157,6 +161,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
     method public static androidx.ui.test.SemanticsMatcher hasNoScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasParentThat(androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsMatcher hasRangeInfo(androidx.ui.semantics.AccessibilityRangeInfo rangeInfo);
     method public static androidx.ui.test.SemanticsMatcher hasScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasSubstring(String substring, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasTestTag(String testTag);
@@ -235,7 +240,10 @@
     method public static androidx.ui.test.SemanticsNodeInteraction child(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction childAt(androidx.ui.test.SemanticsNodeInteraction, int index);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection children(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection filter(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteraction filterToOne(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteraction first(androidx.ui.test.SemanticsNodeInteractionCollection);
+    method public static androidx.ui.test.SemanticsNodeInteraction last(androidx.ui.test.SemanticsNodeInteractionCollection);
     method public static androidx.ui.test.SemanticsNodeInteraction parent(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction sibling(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection siblings(androidx.ui.test.SemanticsNodeInteraction);
diff --git a/ui/ui-test/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-test/api/public_plus_experimental_0.1.0-dev11.txt
index fcc20c2..1e0a947 100644
--- a/ui/ui-test/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-test/api/public_plus_experimental_0.1.0-dev11.txt
@@ -24,6 +24,8 @@
 
   public final class AssertionsKt {
     method public static androidx.ui.test.SemanticsNodeInteraction assert(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
@@ -41,6 +43,7 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
   }
 
@@ -50,6 +53,7 @@
   public final class BitmapHelpersKt {
     method public static void assertPixelColor-9bBi3KA(android.graphics.Bitmap, long expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> return "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
     method public static void assertPixels(android.graphics.Bitmap, androidx.ui.unit.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.unit.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape-2l1GYV8(android.graphics.Bitmap, androidx.ui.unit.Density density, float horizontalPadding, float verticalPadding, long backgroundColor, long shapeColor, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float shapeOverlapPixelCount = 1.px);
     method public static void assertShape-nbwoFSQ(android.graphics.Bitmap, androidx.ui.unit.Density density, androidx.ui.graphics.Shape shape, long shapeColor, long backgroundColor, androidx.ui.graphics.Shape backgroundShape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float sizeX = width.toFloat().px, float sizeY = height.toFloat().px, float shapeSizeX = sizeX, float shapeSizeY = sizeY, float centerX = width.px / 2.0, float centerY = height.px / 2.0, float shapeOverlapPixelCount = 1.px);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(android.view.View);
@@ -157,6 +161,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
     method public static androidx.ui.test.SemanticsMatcher hasNoScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasParentThat(androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsMatcher hasRangeInfo(androidx.ui.semantics.AccessibilityRangeInfo rangeInfo);
     method public static androidx.ui.test.SemanticsMatcher hasScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasSubstring(String substring, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasTestTag(String testTag);
@@ -235,7 +240,10 @@
     method public static androidx.ui.test.SemanticsNodeInteraction child(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction childAt(androidx.ui.test.SemanticsNodeInteraction, int index);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection children(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection filter(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteraction filterToOne(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteraction first(androidx.ui.test.SemanticsNodeInteractionCollection);
+    method public static androidx.ui.test.SemanticsNodeInteraction last(androidx.ui.test.SemanticsNodeInteractionCollection);
     method public static androidx.ui.test.SemanticsNodeInteraction parent(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction sibling(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection siblings(androidx.ui.test.SemanticsNodeInteraction);
diff --git a/ui/ui-test/api/public_plus_experimental_current.txt b/ui/ui-test/api/public_plus_experimental_current.txt
index fcc20c2..1e0a947 100644
--- a/ui/ui-test/api/public_plus_experimental_current.txt
+++ b/ui/ui-test/api/public_plus_experimental_current.txt
@@ -24,6 +24,8 @@
 
   public final class AssertionsKt {
     method public static androidx.ui.test.SemanticsNodeInteraction assert(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
@@ -41,6 +43,7 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
   }
 
@@ -50,6 +53,7 @@
   public final class BitmapHelpersKt {
     method public static void assertPixelColor-9bBi3KA(android.graphics.Bitmap, long expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> return "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
     method public static void assertPixels(android.graphics.Bitmap, androidx.ui.unit.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.unit.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape-2l1GYV8(android.graphics.Bitmap, androidx.ui.unit.Density density, float horizontalPadding, float verticalPadding, long backgroundColor, long shapeColor, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float shapeOverlapPixelCount = 1.px);
     method public static void assertShape-nbwoFSQ(android.graphics.Bitmap, androidx.ui.unit.Density density, androidx.ui.graphics.Shape shape, long shapeColor, long backgroundColor, androidx.ui.graphics.Shape backgroundShape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float sizeX = width.toFloat().px, float sizeY = height.toFloat().px, float shapeSizeX = sizeX, float shapeSizeY = sizeY, float centerX = width.px / 2.0, float centerY = height.px / 2.0, float shapeOverlapPixelCount = 1.px);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(android.view.View);
@@ -157,6 +161,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
     method public static androidx.ui.test.SemanticsMatcher hasNoScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasParentThat(androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsMatcher hasRangeInfo(androidx.ui.semantics.AccessibilityRangeInfo rangeInfo);
     method public static androidx.ui.test.SemanticsMatcher hasScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasSubstring(String substring, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasTestTag(String testTag);
@@ -235,7 +240,10 @@
     method public static androidx.ui.test.SemanticsNodeInteraction child(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction childAt(androidx.ui.test.SemanticsNodeInteraction, int index);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection children(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection filter(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteraction filterToOne(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteraction first(androidx.ui.test.SemanticsNodeInteractionCollection);
+    method public static androidx.ui.test.SemanticsNodeInteraction last(androidx.ui.test.SemanticsNodeInteractionCollection);
     method public static androidx.ui.test.SemanticsNodeInteraction parent(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction sibling(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection siblings(androidx.ui.test.SemanticsNodeInteraction);
diff --git a/ui/ui-test/api/restricted_0.1.0-dev11.txt b/ui/ui-test/api/restricted_0.1.0-dev11.txt
index fcc20c2..1e0a947 100644
--- a/ui/ui-test/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-test/api/restricted_0.1.0-dev11.txt
@@ -24,6 +24,8 @@
 
   public final class AssertionsKt {
     method public static androidx.ui.test.SemanticsNodeInteraction assert(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
@@ -41,6 +43,7 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
   }
 
@@ -50,6 +53,7 @@
   public final class BitmapHelpersKt {
     method public static void assertPixelColor-9bBi3KA(android.graphics.Bitmap, long expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> return "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
     method public static void assertPixels(android.graphics.Bitmap, androidx.ui.unit.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.unit.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape-2l1GYV8(android.graphics.Bitmap, androidx.ui.unit.Density density, float horizontalPadding, float verticalPadding, long backgroundColor, long shapeColor, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float shapeOverlapPixelCount = 1.px);
     method public static void assertShape-nbwoFSQ(android.graphics.Bitmap, androidx.ui.unit.Density density, androidx.ui.graphics.Shape shape, long shapeColor, long backgroundColor, androidx.ui.graphics.Shape backgroundShape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float sizeX = width.toFloat().px, float sizeY = height.toFloat().px, float shapeSizeX = sizeX, float shapeSizeY = sizeY, float centerX = width.px / 2.0, float centerY = height.px / 2.0, float shapeOverlapPixelCount = 1.px);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(android.view.View);
@@ -157,6 +161,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
     method public static androidx.ui.test.SemanticsMatcher hasNoScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasParentThat(androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsMatcher hasRangeInfo(androidx.ui.semantics.AccessibilityRangeInfo rangeInfo);
     method public static androidx.ui.test.SemanticsMatcher hasScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasSubstring(String substring, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasTestTag(String testTag);
@@ -235,7 +240,10 @@
     method public static androidx.ui.test.SemanticsNodeInteraction child(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction childAt(androidx.ui.test.SemanticsNodeInteraction, int index);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection children(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection filter(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteraction filterToOne(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteraction first(androidx.ui.test.SemanticsNodeInteractionCollection);
+    method public static androidx.ui.test.SemanticsNodeInteraction last(androidx.ui.test.SemanticsNodeInteractionCollection);
     method public static androidx.ui.test.SemanticsNodeInteraction parent(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction sibling(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection siblings(androidx.ui.test.SemanticsNodeInteraction);
diff --git a/ui/ui-test/api/restricted_current.txt b/ui/ui-test/api/restricted_current.txt
index fcc20c2..1e0a947 100644
--- a/ui/ui-test/api/restricted_current.txt
+++ b/ui/ui-test/api/restricted_current.txt
@@ -24,6 +24,8 @@
 
   public final class AssertionsKt {
     method public static androidx.ui.test.SemanticsNodeInteraction assert(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
@@ -41,6 +43,7 @@
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction assertLabelEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.semantics.AccessibilityRangeInfo value);
     method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
   }
 
@@ -50,6 +53,7 @@
   public final class BitmapHelpersKt {
     method public static void assertPixelColor-9bBi3KA(android.graphics.Bitmap, long expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> return "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
     method public static void assertPixels(android.graphics.Bitmap, androidx.ui.unit.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.unit.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape-2l1GYV8(android.graphics.Bitmap, androidx.ui.unit.Density density, float horizontalPadding, float verticalPadding, long backgroundColor, long shapeColor, androidx.ui.graphics.Shape shape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float shapeOverlapPixelCount = 1.px);
     method public static void assertShape-nbwoFSQ(android.graphics.Bitmap, androidx.ui.unit.Density density, androidx.ui.graphics.Shape shape, long shapeColor, long backgroundColor, androidx.ui.graphics.Shape backgroundShape = androidx.ui.graphics.RectangleShapeKt.RectangleShape, float sizeX = width.toFloat().px, float sizeY = height.toFloat().px, float shapeSizeX = sizeX, float shapeSizeY = sizeY, float centerX = width.px / 2.0, float centerY = height.px / 2.0, float shapeOverlapPixelCount = 1.px);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
     method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(android.view.View);
@@ -157,6 +161,7 @@
     method public static androidx.ui.test.SemanticsMatcher hasNoClickAction();
     method public static androidx.ui.test.SemanticsMatcher hasNoScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasParentThat(androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsMatcher hasRangeInfo(androidx.ui.semantics.AccessibilityRangeInfo rangeInfo);
     method public static androidx.ui.test.SemanticsMatcher hasScrollAction();
     method public static androidx.ui.test.SemanticsMatcher hasSubstring(String substring, boolean ignoreCase = false);
     method public static androidx.ui.test.SemanticsMatcher hasTestTag(String testTag);
@@ -235,7 +240,10 @@
     method public static androidx.ui.test.SemanticsNodeInteraction child(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction childAt(androidx.ui.test.SemanticsNodeInteraction, int index);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection children(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteractionCollection filter(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
+    method public static androidx.ui.test.SemanticsNodeInteraction filterToOne(androidx.ui.test.SemanticsNodeInteractionCollection, androidx.ui.test.SemanticsMatcher matcher);
     method public static androidx.ui.test.SemanticsNodeInteraction first(androidx.ui.test.SemanticsNodeInteractionCollection);
+    method public static androidx.ui.test.SemanticsNodeInteraction last(androidx.ui.test.SemanticsNodeInteractionCollection);
     method public static androidx.ui.test.SemanticsNodeInteraction parent(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteraction sibling(androidx.ui.test.SemanticsNodeInteraction);
     method public static androidx.ui.test.SemanticsNodeInteractionCollection siblings(androidx.ui.test.SemanticsNodeInteraction);
diff --git a/ui/ui-test/build.gradle b/ui/ui-test/build.gradle
index 91f2804..2b768d8 100644
--- a/ui/ui-test/build.gradle
+++ b/ui/ui-test/build.gradle
@@ -40,12 +40,10 @@
     implementation(JUNIT)
 
     api project(":ui:ui-core")
-    api project(":ui:ui-platform")
 
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-animation")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-util")
     implementation project(":ui:ui-saved-instance-state")
diff --git a/ui/ui-test/src/androidTest/AndroidManifest.xml b/ui/ui-test/src/androidTest/AndroidManifest.xml
index 7ac2dec..12873b1 100644
--- a/ui/ui-test/src/androidTest/AndroidManifest.xml
+++ b/ui/ui-test/src/androidTest/AndroidManifest.xml
@@ -28,5 +28,6 @@
         <activity android:name="androidx.ui.test.MultipleActivitiesClickTest$Activity2" />
         <activity android:name="androidx.ui.test.MultipleActivitiesFirstDrawTest$Activity1" />
         <activity android:name="androidx.ui.test.MultipleActivitiesFirstDrawTest$Activity2" />
+        <activity android:name="androidx.ui.test.LateSetContentTest$Activity" />
     </application>
 </manifest>
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
new file mode 100644
index 0000000..aa37c23
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test
+
+import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
+import androidx.activity.ComponentActivity
+import androidx.test.filters.LargeTest
+import androidx.ui.core.setContent
+import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.util.BoundaryNode
+import org.junit.Rule
+import org.junit.Test
+
+@LargeTest
+class LateSetContentTest {
+    @get:Rule
+    val composeTestRule = AndroidComposeTestRule<Activity>()
+
+    @Test
+    fun test() {
+        findByTag("Node").assertExists()
+    }
+
+    class Activity : ComponentActivity() {
+        private val handler = Handler(Looper.getMainLooper())
+        override fun onCreate(savedInstanceState: Bundle?) {
+            super.onCreate(savedInstanceState)
+            handler.postDelayed({
+                setContent { BoundaryNode("Node") }
+            }, 500)
+        }
+    }
+}
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/assertions/AssertAllTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/assertions/AssertAllTest.kt
new file mode 100644
index 0000000..20cd316
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/assertions/AssertAllTest.kt
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test.assertions
+
+import androidx.test.filters.MediumTest
+import androidx.ui.test.assertAll
+import androidx.ui.test.assertCountEquals
+import androidx.ui.test.children
+import androidx.ui.test.createComposeRule
+import androidx.ui.test.findByTag
+import androidx.ui.test.hasTestTag
+import androidx.ui.test.util.BoundaryNode
+import androidx.ui.test.util.expectErrorMessageStartsWith
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@MediumTest
+@RunWith(JUnit4::class)
+class AssertAllTest {
+
+    @get:Rule
+    val composeTestRule =
+        createComposeRule(disableTransitions = true)
+
+    @Test
+    fun twoNodes_twoSatisfied() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .assertAll(hasTestTag("Child1") or hasTestTag("Child2"))
+    }
+
+    @Test
+    fun twoNodes_oneSatisfied() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed to assertAll(TestTag = 'Child1')\n" +
+                "Found '1' node not matching:\n" +
+                "Id: X"
+        ) {
+            findByTag("Parent")
+                .children()
+                .assertAll(hasTestTag("Child1"))
+        }
+    }
+
+    @Test
+    fun threeNodes_oneSatisfied() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+                BoundaryNode(testTag = "Child3")
+            }
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed to assertAll(TestTag = 'Child1')\n" +
+                "Found '2' nodes not matching:\n" +
+                "1) Id:"
+        ) {
+            findByTag("Parent")
+                .children()
+                .assertAll(hasTestTag("Child1"))
+        }
+    }
+
+    @Test
+    fun zeroNodes() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent")
+        }
+
+        findByTag("Parent")
+            .children()
+            .assertCountEquals(0)
+            .assertAll(hasTestTag("Child"))
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/assertions/AssertAnyTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/assertions/AssertAnyTest.kt
new file mode 100644
index 0000000..1342d71
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/assertions/AssertAnyTest.kt
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test.assertions
+
+import androidx.test.filters.MediumTest
+import androidx.ui.test.assertAny
+import androidx.ui.test.children
+import androidx.ui.test.createComposeRule
+import androidx.ui.test.findByTag
+import androidx.ui.test.hasTestTag
+import androidx.ui.test.util.BoundaryNode
+import androidx.ui.test.util.expectErrorMessageStartsWith
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@MediumTest
+@RunWith(JUnit4::class)
+class AssertAnyTest {
+
+    @get:Rule
+    val composeTestRule =
+        createComposeRule(disableTransitions = true)
+
+    @Test
+    fun twoNodes_oneOrTwoSatisfied() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .assertAny(hasTestTag("Child1"))
+
+        findByTag("Parent")
+            .children()
+            .assertAny(hasTestTag("Child1") or hasTestTag("Child2"))
+    }
+
+    @Test
+    fun twoNodes_noneSatisfied() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed to assertAny(TestTag = 'Child3')\n" +
+                "None of the following nodes match:\n" +
+                "1) Id:") {
+            findByTag("Parent")
+                .children()
+                .assertAny(hasTestTag("Child3"))
+        }
+    }
+
+    @Test
+    fun zeroNodes_noneSatisfied() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent")
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed to assertAny(TestTag = 'Child')\n" +
+                "Assert needs to receive at least 1 node but 0 nodes were found for selector: " +
+                "'(TestTag = 'Parent').children'") {
+            findByTag("Parent")
+                .children()
+                .assertAny(hasTestTag("Child"))
+        }
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/FilterSelectorTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/FilterSelectorTest.kt
new file mode 100644
index 0000000..871533af
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/FilterSelectorTest.kt
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test.selectors
+
+import androidx.test.filters.MediumTest
+import androidx.ui.test.assert
+import androidx.ui.test.assertCountEquals
+import androidx.ui.test.children
+import androidx.ui.test.createComposeRule
+import androidx.ui.test.filter
+import androidx.ui.test.findByTag
+import androidx.ui.test.hasTestTag
+import androidx.ui.test.util.BoundaryNode
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@MediumTest
+@RunWith(JUnit4::class)
+class FilterSelectorTest {
+
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    @Test
+    fun twoNodes_filterOne() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .filter(hasTestTag("Child1"))
+            .assertCountEquals(1)
+            .apply {
+                get(0).assert(hasTestTag("Child1"))
+            }
+    }
+
+    @Test
+    fun twoNodes_filterTwo() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .filter(hasTestTag("Child1") or hasTestTag("Child2"))
+            .assertCountEquals(2)
+            .apply {
+                get(0).assert(hasTestTag("Child1"))
+                get(1).assert(hasTestTag("Child2"))
+            }
+    }
+
+    @Test
+    fun twoNodes_filterNone() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .filter(hasTestTag("Child"))
+            .assertCountEquals(0)
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/FilterToOneSelectorTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/FilterToOneSelectorTest.kt
new file mode 100644
index 0000000..f9a5d9aa
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/FilterToOneSelectorTest.kt
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test.selectors
+
+import androidx.test.filters.MediumTest
+import androidx.ui.test.assert
+import androidx.ui.test.children
+import androidx.ui.test.createComposeRule
+import androidx.ui.test.filterToOne
+import androidx.ui.test.findByTag
+import androidx.ui.test.hasTestTag
+import androidx.ui.test.util.BoundaryNode
+import androidx.ui.test.util.expectErrorMessageStartsWith
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@MediumTest
+@RunWith(JUnit4::class)
+class FilterToOneSelectorTest {
+
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    @Test
+    fun twoNodes_filterToOne() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .filterToOne(hasTestTag("Child1"))
+            .assert(hasTestTag("Child1"))
+    }
+
+    @Test
+    fun twoNodes_filterToTwo_fail() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed: assertExists.\n" +
+                "Reason: Expected exactly '1' node but found '2' nodes that satisfy: " +
+                "(((TestTag = 'Parent').children).filterToOne((TestTag = 'Child1') || " +
+                "(TestTag = 'Child2')))\n" +
+                "Nodes found:\n" +
+                "1) Id:"
+        ) {
+            findByTag("Parent")
+                .children()
+                .filterToOne(hasTestTag("Child1") or hasTestTag("Child2"))
+                .assertExists()
+        }
+    }
+
+    @Test
+    fun twoNodes_filterToNone() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .filterToOne(hasTestTag("Child"))
+            .assertDoesNotExist()
+    }
+
+    @Test
+    fun twoNodes_filterToNone_fail() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed: assertExists.\n" +
+                "Reason: Expected exactly '1' node but could not find any node that satisfies: " +
+                "(((TestTag = 'Parent').children).filterToOne(TestTag = 'Child'))") {
+            findByTag("Parent")
+                .children()
+                .filterToOne(hasTestTag("Child"))
+                .assertExists()
+        }
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/LastNodeSelectorTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/LastNodeSelectorTest.kt
new file mode 100644
index 0000000..c779481
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/selectors/LastNodeSelectorTest.kt
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test.selectors
+
+import androidx.test.filters.MediumTest
+import androidx.ui.test.assert
+import androidx.ui.test.children
+import androidx.ui.test.createComposeRule
+import androidx.ui.test.findByTag
+import androidx.ui.test.hasTestTag
+import androidx.ui.test.last
+import androidx.ui.test.util.BoundaryNode
+import androidx.ui.test.util.expectErrorMessageStartsWith
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.JUnit4
+
+@MediumTest
+@RunWith(JUnit4::class)
+class LastNodeSelectorTest {
+
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    @Test
+    fun twoNodes_getLast() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent") {
+                BoundaryNode(testTag = "Child1")
+                BoundaryNode(testTag = "Child2")
+            }
+        }
+
+        findByTag("Parent")
+            .children()
+            .last()
+            .assert(hasTestTag("Child2"))
+    }
+
+    @Test
+    fun zeroNodes_getLast() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent")
+        }
+
+        findByTag("Parent")
+            .children()
+            .last()
+            .assertDoesNotExist()
+    }
+
+    @Test
+    fun zeroNodes_getLast_fail() {
+        composeTestRule.setContent {
+            BoundaryNode(testTag = "Parent")
+        }
+
+        expectErrorMessageStartsWith("" +
+                "Failed: assertExists.\n" +
+                "Reason: Expected exactly '1' node but could not find any node that satisfies: " +
+                "(((TestTag = 'Parent').children).last)") {
+            findByTag("Parent")
+                .children()
+                .last()
+                .assertExists()
+        }
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt b/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt
index e9c812b..077b462 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/Assertions.kt
@@ -18,8 +18,10 @@
 
 import androidx.ui.core.LayoutNode
 import androidx.ui.core.findClosestParentNode
+import androidx.ui.core.semantics.SemanticsNode
 import androidx.ui.geometry.Offset
 import androidx.ui.geometry.Rect
+import androidx.ui.semantics.AccessibilityRangeInfo
 import androidx.ui.semantics.SemanticsProperties
 import androidx.ui.test.android.SynchronizedTreeCollector
 import androidx.ui.unit.PxBounds
@@ -167,6 +169,16 @@
     assert(hasValue(value))
 
 /**
+ * Asserts the component's range info equals the given value.
+ *
+ * For further details please check [SemanticsProperties.AccessibilityRangeInfo].
+ * Throws [AssertionError] if the node's value is not equal to `value`, or if the node has no value
+ */
+fun SemanticsNodeInteraction.assertRangeInfoEquals(value: AccessibilityRangeInfo):
+        SemanticsNodeInteraction =
+    assert(hasRangeInfo(value))
+
+/**
  * Asserts that the current component has a click action.
  *
  * Throws [AssertionError] if the component is doesn't have a click action.
@@ -223,6 +235,55 @@
     return this
 }
 
+/**
+ * Asserts that this collection contains at least one element that satisfies the given [matcher].
+ *
+ * @param matcher Matcher that has to be satisfied by at least one of the nodes in the collection.
+ *
+ * @throws AssertionError if not at least one matching node was node.
+ */
+fun SemanticsNodeInteractionCollection.assertAny(
+    matcher: SemanticsMatcher
+): SemanticsNodeInteractionCollection {
+    val errorOnFail = "Failed to assertAny(${matcher.description})"
+    val nodes = fetchSemanticsNodes(errorOnFail)
+    if (nodes.isEmpty()) {
+        throw AssertionError(buildErrorMessageForAtLeastOneNodeExpected(errorOnFail, selector))
+    }
+    if (!matcher.matchesAny(nodes)) {
+        throw AssertionError(buildErrorMessageForAssertAnyFail(selector, nodes, matcher))
+    }
+    return this
+}
+
+/**
+ * Asserts that all the nodes in this collection satisfy the given [matcher].
+ *
+ * This passes also for empty collections.
+ *
+ * @param matcher Matcher that has to be satisfied by all the nodes in the collection.
+ *
+ * @throws AssertionError if the collection contains at least one element that does not satisfy
+ * the given matcher.
+ */
+fun SemanticsNodeInteractionCollection.assertAll(
+    matcher: SemanticsMatcher
+): SemanticsNodeInteractionCollection {
+    val errorOnFail = "Failed to assertAll(${matcher.description})"
+    val nodes = fetchSemanticsNodes(errorOnFail)
+
+    val violations = mutableListOf<SemanticsNode>()
+    nodes.forEach {
+        if (!matcher.matches(it)) {
+            violations.add(it)
+        }
+    }
+    if (violations.isNotEmpty()) {
+        throw AssertionError(buildErrorMessageForAssertAllFail(selector, violations, matcher))
+    }
+    return this
+}
+
 private fun SemanticsNodeInteraction.checkIsDisplayed(): Boolean {
     // hierarchy check - check layout nodes are visible
     val errorMessageOnFail = "Failed to perform isDisplayed check."
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/BitmapHelpers.kt b/ui/ui-test/src/main/java/androidx/ui/test/BitmapHelpers.kt
index 979e8c1..b65642e 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/BitmapHelpers.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/BitmapHelpers.kt
@@ -38,6 +38,7 @@
 import androidx.ui.test.android.SynchronizedTreeCollector
 import androidx.ui.test.android.captureRegionToBitmap
 import androidx.ui.unit.Density
+import androidx.ui.unit.Dp
 import androidx.ui.unit.IntPxPosition
 import androidx.ui.unit.IntPxSize
 import androidx.ui.unit.Px
@@ -192,7 +193,19 @@
  * The bitmap area examined is [sizeX] x [sizeY], centered at ([centerX], [centerY]) and everything
  * outside the shape is expected to be color [backgroundColor].
  *
- * The border area of 1 pixel from the shape outline is left untested as it is likely anti-aliased.
+ * @param density current [Density] or the screen
+ * @param shape defines the [Shape]
+ * @param shapeColor the color of the shape
+ * @param backgroundColor the color of the background
+ * @param backgroundShape defines the [Shape] of the background
+ * @param sizeX width of the area filled with the [backgroundShape]
+ * @param sizeY height of the area filled with the [backgroundShape]
+ * @param shapeSizeX width of the area filled with the [shape]
+ * @param shapeSizeY height of the area filled with the [shape]
+ * @param centerX the X position of the center of the [shape] inside the [sizeX]
+ * @param centerY the Y position of the center of the [shape] inside the [sizeY]
+ * @param shapeOverlapPixelCount The size of the border area from the shape outline to leave it
+ * untested as it is likely anti-aliased. The default is 1 pixel
  */
 // TODO (mount, malkov) : to investigate why it flakes when shape is not rect
 fun Bitmap.assertShape(
@@ -264,6 +277,43 @@
     }
 }
 
+/**
+ * Asserts that the bitmap is fully occupied by the given [shape] with the color [shapeColor]
+ * without [horizontalPadding] and [verticalPadding] from the sides. The padded area is expected
+ * to have [backgroundColor].
+ *
+ * @param density current [Density] or the screen
+ * @param horizontalPadding the symmetrical padding to be applied from both left and right sides
+ * @param verticalPadding the symmetrical padding to be applied from both top and bottom sides
+ * @param backgroundColor the color of the background
+ * @param shapeColor the color of the shape
+ * @param shape defines the [Shape]
+ * @param shapeOverlapPixelCount The size of the border area from the shape outline to leave it
+ * untested as it is likely anti-aliased. The default is 1 pixel
+ */
+fun Bitmap.assertShape(
+    density: Density,
+    horizontalPadding: Dp,
+    verticalPadding: Dp,
+    backgroundColor: Color,
+    shapeColor: Color,
+    shape: Shape = RectangleShape,
+    shapeOverlapPixelCount: Px = 1.px
+) {
+    val fullHorizontalPadding = with(density) { horizontalPadding.toPx() * 2 }
+    val fullVerticalPadding = with(density) { verticalPadding.toPx() * 2 }
+    return assertShape(
+        density = density,
+        shape = shape,
+        shapeColor = shapeColor,
+        backgroundColor = backgroundColor,
+        backgroundShape = RectangleShape,
+        shapeSizeX = width.toFloat().px - fullHorizontalPadding,
+        shapeSizeY = height.toFloat().px - fullVerticalPadding,
+        shapeOverlapPixelCount = shapeOverlapPixelCount
+    )
+}
+
 private infix fun Px.until(until: Px): IntRange {
     val from = this.round().value
     val to = until.round().value
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt b/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt
index 2893ca7..156f00a 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/ErrorMessages.kt
@@ -125,6 +125,62 @@
                 "(${assertionMatcher.description})", selector, node)
 }
 
+internal fun buildErrorMessageForAssertAnyFail(
+    selector: SemanticsSelector,
+    nodes: List<SemanticsNode>,
+    assertionMatcher: SemanticsMatcher
+): String {
+    val sb = StringBuilder()
+
+    sb.appendln("Failed to assertAny(${assertionMatcher.description})")
+
+    sb.appendln("None of the following nodes match:")
+    sb.appendln(nodes.toStringInfo())
+
+    sb.append("Selector used: '")
+    sb.append(selector.description)
+    sb.appendln("'")
+
+    return sb.toString()
+}
+
+internal fun buildErrorMessageForAssertAllFail(
+    selector: SemanticsSelector,
+    nodesNotMatching: List<SemanticsNode>,
+    assertionMatcher: SemanticsMatcher
+): String {
+    val sb = StringBuilder()
+
+    sb.appendln("Failed to assertAll(${assertionMatcher.description})")
+
+    sb.append("Found '${nodesNotMatching.size}' ")
+    sb.append(if (nodesNotMatching.size == 1) "node" else "nodes")
+    sb.appendln(" not matching:")
+    sb.appendln(nodesNotMatching.toStringInfo())
+
+    sb.append("Selector used: '")
+    sb.append(selector.description)
+    sb.appendln("'")
+
+    return sb.toString()
+}
+
+internal fun buildErrorMessageForAtLeastOneNodeExpected(
+    errorMessage: String,
+    selector: SemanticsSelector
+): String {
+    val sb = StringBuilder()
+
+    sb.appendln(errorMessage)
+
+    sb.append("Assert needs to receive at least 1 node but 0 nodes were found for selector: ")
+    sb.append("'")
+    sb.append(selector.description)
+    sb.appendln("'")
+
+    return sb.toString()
+}
+
 internal fun buildGeneralErrorMessage(
     errorMessage: String,
     selector: SemanticsSelector,
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt b/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
index 4645a54..35a6a66 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/Filters.kt
@@ -20,6 +20,7 @@
 import androidx.ui.core.semantics.getOrNull
 import androidx.ui.foundation.selection.ToggleableState
 import androidx.ui.foundation.semantics.FoundationSemanticsProperties
+import androidx.ui.semantics.AccessibilityRangeInfo
 import androidx.ui.semantics.SemanticsActions
 import androidx.ui.semantics.SemanticsProperties
 
@@ -166,6 +167,16 @@
     SemanticsProperties.AccessibilityValue, value)
 
 /**
+ * Returns whether the component's range info matches exactly to the given accessibility range info.
+ *
+ * @param rangeInfo range info to match.
+ *
+ * @see SemanticsProperties.AccessibilityRangeInfo
+ */
+fun hasRangeInfo(rangeInfo: AccessibilityRangeInfo): SemanticsMatcher = SemanticsMatcher
+    .expectValue(SemanticsProperties.AccessibilityRangeInfo, rangeInfo)
+
+/**
  * Returns whether the component is annotated by the given test tag.
  *
  * @param testTag Value to match.
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/Selectors.kt b/ui/ui-test/src/main/java/androidx/ui/test/Selectors.kt
index 81a3e4f..3038260 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/Selectors.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/Selectors.kt
@@ -119,7 +119,7 @@
 }
 
 /**
- * Retrieve the first node in this collection.
+ * Returns the first node in this collection.
  *
  * Any subsequent operation on its result will expect exactly one element found (unless
  * [SemanticsNodeInteraction.assertDoesNotExist] is used) and will throw [AssertionError] if
@@ -127,4 +127,41 @@
  */
 fun SemanticsNodeInteractionCollection.first(): SemanticsNodeInteraction {
     return get(0)
+}
+
+/**
+ * Returns the last node in this collection.
+ *
+ * Any subsequent operation on its result will expect exactly one element found (unless
+ * [SemanticsNodeInteraction.assertDoesNotExist] is used) and will throw [AssertionError] if
+ * no element is found.
+ */
+fun SemanticsNodeInteractionCollection.last(): SemanticsNodeInteraction {
+    return SemanticsNodeInteraction(selector.addLastNodeSelector())
+}
+
+/**
+ * Returns all the nodes matching the given [matcher].
+ *
+ * @param matcher Matcher to use for the filtering.
+ */
+fun SemanticsNodeInteractionCollection.filter(
+    matcher: SemanticsMatcher
+): SemanticsNodeInteractionCollection {
+    return SemanticsNodeInteractionCollection(selector.addSelectorViaMatcher("filter", matcher))
+}
+
+/**
+ * Expects to return exactly one node matching the given [matcher].
+ *
+ * Any subsequent operation on its result will expect exactly one element found (unless
+ * [SemanticsNodeInteraction.assertDoesNotExist] is used) and will throw [AssertionError] if
+ * no element is found.
+ *
+ * @param matcher Matcher to use for the filtering.
+ */
+fun SemanticsNodeInteractionCollection.filterToOne(
+    matcher: SemanticsMatcher
+): SemanticsNodeInteraction {
+    return SemanticsNodeInteraction(selector.addSelectorViaMatcher("filterToOne", matcher))
 }
\ No newline at end of file
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/SemanticsSelector.kt b/ui/ui-test/src/main/java/androidx/ui/test/SemanticsSelector.kt
index 34c9f49..b88110d 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/SemanticsSelector.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/SemanticsSelector.kt
@@ -118,4 +118,34 @@
             SelectionResult(emptyList(), errorMessage)
         }
     }
+}
+
+/**
+ * Chains a new selector that retrieves the last node returned from this selector.
+ */
+internal fun SemanticsSelector.addLastNodeSelector(): SemanticsSelector {
+    return SemanticsSelector(
+        "(${this.description}).last",
+        requiresExactlyOneNode = false,
+        chainedInputSelector = this
+    ) { nodes ->
+        SelectionResult(nodes.toList().takeLast(1))
+    }
+}
+
+/**
+ * Chains a new selector that selects all the nodes matching the given [matcher] from the nodes
+ * returned by this selector.
+ */
+internal fun SemanticsSelector.addSelectorViaMatcher(
+    selectorName: String,
+    matcher: SemanticsMatcher
+): SemanticsSelector {
+    return SemanticsSelector(
+        "(${this.description}).$selectorName(${matcher.description})",
+        requiresExactlyOneNode = false,
+        chainedInputSelector = this
+    ) { nodes ->
+        SelectionResult(nodes.filter { matcher.matches(it) })
+    }
 }
\ No newline at end of file
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidOwnerRegistry.kt b/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidOwnerRegistry.kt
index 9bb4339..d62da1b 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidOwnerRegistry.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/android/AndroidOwnerRegistry.kt
@@ -32,6 +32,7 @@
     private val owners = Collections.newSetFromMap(WeakHashMap<AndroidOwner, Boolean>())
     private val notYetDrawn = Collections.newSetFromMap(WeakHashMap<AndroidOwner, Boolean>())
     private var onDrawnCallback: (() -> Unit)? = null
+    private val registryListeners = mutableSetOf<OnRegistrationChangedListener>()
 
     /**
      * Returns if the registry is setup to receive registrations from [AndroidOwner]s
@@ -58,13 +59,48 @@
     }
 
     /**
-     * Returns a copy of the set of all registered [AndroidOwner]s
+     * Returns a copy of the set of all registered [AndroidOwner]s, including ones that are
+     * normally not relevant (like those whose lifecycle state is not RESUMED).
      */
-    fun getAllOwners(): Set<AndroidOwner> {
+    fun getUnfilteredOwners(): Set<AndroidOwner> {
         return owners.toSet()
     }
 
     /**
+     * Returns a copy of the set of all registered [AndroidOwner]s that can be interacted with.
+     * This method is almost always preferred over [getUnfilteredOwners].
+     */
+    fun getOwners(): Set<AndroidOwner> {
+        return owners.filterTo(mutableSetOf()) {
+            // lifecycleOwner can only be null if it.view is not yet attached, and since owners
+            // are only in the registry when they're attached we don't care about the
+            // lifecycleOwner being null.
+            val lifecycleOwner = it.lifecycleOwner ?: return@filterTo false
+            lifecycleOwner.lifecycle.currentState == Lifecycle.State.RESUMED
+        }
+    }
+
+    /**
+     * Adds the given [listener], to be notified when an [AndroidOwner] registers or unregisters.
+     */
+    fun addOnRegistrationChangedListener(listener: OnRegistrationChangedListener) {
+        registryListeners.add(listener)
+    }
+
+    /**
+     * Removes the given [listener].
+     */
+    fun removeOnRegistrationChangedListener(listener: OnRegistrationChangedListener) {
+        registryListeners.remove(listener)
+    }
+
+    private fun dispatchOnRegistrationChanged(owner: AndroidOwner, isRegistered: Boolean) {
+        registryListeners.toList().forEach {
+            it.onRegistrationChanged(owner, isRegistered)
+        }
+    }
+
+    /**
      * Returns if all registered owners have finished at least one draw call.
      */
     fun haveAllDrawn(): Boolean {
@@ -89,6 +125,7 @@
         owners.add(owner)
         notYetDrawn.add(owner)
         owner.view.viewTreeObserver.addOnDrawListener(FirstDrawListener(owner))
+        dispatchOnRegistrationChanged(owner, true)
     }
 
     /**
@@ -98,12 +135,15 @@
         owners.remove(owner)
         notYetDrawn.remove(owner)
         dispatchOnDrawn()
+        dispatchOnRegistrationChanged(owner, false)
     }
 
     /**
      * Should be called when a registered owner has drawn for the first time. Can be called after
      * subsequent draws as well, but that is not required.
      */
+    // TODO(b/155742511): Move all onDrawn functionality to another class, so the registry
+    //  remains purely about tracking AndroidOwners.
     private fun notifyOwnerDrawn(owner: AndroidOwner) {
         notYetDrawn.remove(owner)
         dispatchOnDrawn()
@@ -116,6 +156,14 @@
         }
     }
 
+    /**
+     * Interface to be implemented by components that want to be notified when an [AndroidOwner]
+     * registers or unregisters at this registry.
+     */
+    interface OnRegistrationChangedListener {
+        fun onRegistrationChanged(owner: AndroidOwner, registered: Boolean)
+    }
+
     private class FirstDrawListener(private val owner: AndroidOwner) :
         ViewTreeObserver.OnDrawListener {
         private var invoked = false
diff --git a/ui/ui-test/src/main/java/androidx/ui/test/android/SynchronizedTreeCollector.kt b/ui/ui-test/src/main/java/androidx/ui/test/android/SynchronizedTreeCollector.kt
index 7fd58ff..eecbc3b 100644
--- a/ui/ui-test/src/main/java/androidx/ui/test/android/SynchronizedTreeCollector.kt
+++ b/ui/ui-test/src/main/java/androidx/ui/test/android/SynchronizedTreeCollector.kt
@@ -21,7 +21,6 @@
 import android.content.ContextWrapper
 import android.view.Choreographer
 import androidx.compose.onCommit
-import androidx.lifecycle.Lifecycle
 import androidx.test.espresso.Espresso
 import androidx.ui.core.AndroidOwner
 import androidx.ui.core.semantics.SemanticsNode
@@ -47,18 +46,13 @@
      * surfaces only in incorrect tests.
      */
     internal fun collectOwners(): CollectedOwners {
-        waitForIdle()
         check(AndroidOwnerRegistry.isSetup) {
             "Test not setup properly. Use a ComposeTestRule in your test to be able to interact " +
                     "with composables"
         }
-        return CollectedOwners(AndroidOwnerRegistry.getAllOwners().filterTo(mutableSetOf()) {
-            // lifecycleOwner can only be null if it.view is not yet attached, and since owners
-            // are only in the registry when they're attached we don't care about the
-            // lifecycleOwner being null.
-            val lifecycleOwner = it.lifecycleOwner ?: return@filterTo false
-            lifecycleOwner.lifecycle.currentState == Lifecycle.State.RESUMED
-        }.also {
+        waitForIdle()
+
+        return CollectedOwners(AndroidOwnerRegistry.getOwners().also {
             // TODO(b/153632210): This check should be done by callers of collectOwners
             check(it.isNotEmpty()) { "No AndroidOwners found. Is your Activity resumed?" }
         })
@@ -74,7 +68,20 @@
      */
     internal fun waitForIdle() {
         registerComposeWithEspresso()
+        // First wait for Android mechanisms to settle down
         Espresso.onIdle()
+        // Then wait until we have an AndroidOwner (in case an Activity is being started)
+        waitForAndroidOwners()
+        // And when we have an AndroidOwner, we need to wait until it has composed
+        Espresso.onIdle()
+
+        // TODO(b/155774664): waitForAndroidOwners() may be satisfied by an AndroidOwner from an
+        //  Activity that is about to be paused, in cases where a new Activity is being started.
+        //  That means that AndroidOwnerRegistry.getOwners() may still return an empty list
+        //  between now and when the new Activity has created its AndroidOwner, even though
+        //  waitForAndroidOwners() suggests that we are now guaranteed one.
+
+        // Wait for onCommit callbacks last, as they might be posted while waiting for idle
         waitForOnCommitCallbacks()
     }
 
@@ -89,6 +96,29 @@
         }
         latch.await(1, TimeUnit.SECONDS)
     }
+
+    private fun waitForAndroidOwners() {
+        fun hasAndroidOwners(): Boolean = AndroidOwnerRegistry.getOwners().isNotEmpty()
+
+        if (!hasAndroidOwners()) {
+            val latch = CountDownLatch(1)
+            val listener = object : AndroidOwnerRegistry.OnRegistrationChangedListener {
+                override fun onRegistrationChanged(owner: AndroidOwner, registered: Boolean) {
+                    if (hasAndroidOwners()) {
+                        latch.countDown()
+                    }
+                }
+            }
+            try {
+                AndroidOwnerRegistry.addOnRegistrationChangedListener(listener)
+                if (!hasAndroidOwners()) {
+                    latch.await(2, TimeUnit.SECONDS)
+                }
+            } finally {
+                AndroidOwnerRegistry.removeOnRegistrationChangedListener(listener)
+            }
+        }
+    }
 }
 
 /**
diff --git a/ui/ui-text-core/api/0.1.0-dev11.txt b/ui/ui-text-core/api/0.1.0-dev11.txt
index 810eb81..946c57b 100644
--- a/ui/ui-text-core/api/0.1.0-dev11.txt
+++ b/ui/ui-text-core/api/0.1.0-dev11.txt
@@ -183,6 +183,12 @@
 
   public interface VisualTransformation {
     method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    field public static final androidx.ui.input.VisualTransformation.Companion! Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.ui.input.VisualTransformation getNone();
+    property public final androidx.ui.input.VisualTransformation None;
   }
 
 }
diff --git a/ui/ui-text-core/api/current.txt b/ui/ui-text-core/api/current.txt
index 810eb81..946c57b 100644
--- a/ui/ui-text-core/api/current.txt
+++ b/ui/ui-text-core/api/current.txt
@@ -183,6 +183,12 @@
 
   public interface VisualTransformation {
     method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    field public static final androidx.ui.input.VisualTransformation.Companion! Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.ui.input.VisualTransformation getNone();
+    property public final androidx.ui.input.VisualTransformation None;
   }
 
 }
diff --git a/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev11.txt
index 810eb81..946c57b 100644
--- a/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-text-core/api/public_plus_experimental_0.1.0-dev11.txt
@@ -183,6 +183,12 @@
 
   public interface VisualTransformation {
     method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    field public static final androidx.ui.input.VisualTransformation.Companion! Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.ui.input.VisualTransformation getNone();
+    property public final androidx.ui.input.VisualTransformation None;
   }
 
 }
diff --git a/ui/ui-text-core/api/public_plus_experimental_current.txt b/ui/ui-text-core/api/public_plus_experimental_current.txt
index 810eb81..946c57b 100644
--- a/ui/ui-text-core/api/public_plus_experimental_current.txt
+++ b/ui/ui-text-core/api/public_plus_experimental_current.txt
@@ -183,6 +183,12 @@
 
   public interface VisualTransformation {
     method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    field public static final androidx.ui.input.VisualTransformation.Companion! Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.ui.input.VisualTransformation getNone();
+    property public final androidx.ui.input.VisualTransformation None;
   }
 
 }
diff --git a/ui/ui-text-core/api/restricted_0.1.0-dev11.txt b/ui/ui-text-core/api/restricted_0.1.0-dev11.txt
index 118f48c..07f2f76 100644
--- a/ui/ui-text-core/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-text-core/api/restricted_0.1.0-dev11.txt
@@ -188,6 +188,12 @@
 
   public interface VisualTransformation {
     method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    field public static final androidx.ui.input.VisualTransformation.Companion! Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.ui.input.VisualTransformation getNone();
+    property public final androidx.ui.input.VisualTransformation None;
   }
 
 }
diff --git a/ui/ui-text-core/api/restricted_current.txt b/ui/ui-text-core/api/restricted_current.txt
index 118f48c..07f2f76 100644
--- a/ui/ui-text-core/api/restricted_current.txt
+++ b/ui/ui-text-core/api/restricted_current.txt
@@ -188,6 +188,12 @@
 
   public interface VisualTransformation {
     method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    field public static final androidx.ui.input.VisualTransformation.Companion! Companion;
+  }
+
+  public static final class VisualTransformation.Companion {
+    method public androidx.ui.input.VisualTransformation getNone();
+    property public final androidx.ui.input.VisualTransformation None;
   }
 
 }
diff --git a/ui/ui-text-core/build.gradle b/ui/ui-text-core/build.gradle
index afaa9b7..06e27e1 100644
--- a/ui/ui-text-core/build.gradle
+++ b/ui/ui-text-core/build.gradle
@@ -39,7 +39,8 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-util")
     implementation project(":ui:ui-text-android")
-    api project(":ui:ui-core")
+    api project(":ui:ui-unit")
+    api project(":ui:ui-graphics")
 
     testImplementation project(":ui:ui-test-font")
     testImplementation(ANDROIDX_TEST_RULES)
diff --git a/ui/ui-text-core/integration-tests/text-demos/build.gradle b/ui/ui-text-core/integration-tests/text-demos/build.gradle
index 875a9b1..6ac8babb 100644
--- a/ui/ui-text-core/integration-tests/text-demos/build.gradle
+++ b/ui/ui-text-core/integration-tests/text-demos/build.gradle
@@ -17,7 +17,6 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:integration-tests:demos:common")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-foundation")
     implementation project(":ui:ui-layout")
     implementation project(":ui:ui-text-core")
diff --git a/ui/ui-text-core/samples/build.gradle b/ui/ui-text-core/samples/build.gradle
index bbd8985..26f61ec 100644
--- a/ui/ui-text-core/samples/build.gradle
+++ b/ui/ui-text-core/samples/build.gradle
@@ -35,7 +35,6 @@
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-core")
     implementation project(":ui:ui-foundation")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-text-core")
 }
 
diff --git a/ui/ui-text-core/src/main/java/androidx/ui/input/VisualTransformation.kt b/ui/ui-text-core/src/main/java/androidx/ui/input/VisualTransformation.kt
index 4504c34..683e4a32 100644
--- a/ui/ui-text-core/src/main/java/androidx/ui/input/VisualTransformation.kt
+++ b/ui/ui-text-core/src/main/java/androidx/ui/input/VisualTransformation.kt
@@ -104,6 +104,16 @@
      * @return the pair of filtered text and offset translator.
      */
     fun filter(text: AnnotatedString): TransformedText
+
+    companion object {
+        /**
+         * A special visual transformation object indicating that no transformation is applied.
+         */
+        val None: VisualTransformation = object : VisualTransformation {
+            override fun filter(text: AnnotatedString) =
+                TransformedText(text, OffsetMap.identityOffsetMap)
+        }
+    }
 }
 
 /**
diff --git a/ui/ui-text-core/src/main/java/androidx/ui/text/SpanStyle.kt b/ui/ui-text-core/src/main/java/androidx/ui/text/SpanStyle.kt
index 8d50199..0737a49 100644
--- a/ui/ui-text-core/src/main/java/androidx/ui/text/SpanStyle.kt
+++ b/ui/ui-text-core/src/main/java/androidx/ui/text/SpanStyle.kt
@@ -127,7 +127,7 @@
  * @param b An sp value. Maybe [TextUnit.Inherit]
  */
 internal fun lerpTextUnitInheritable(a: TextUnit, b: TextUnit, t: Float): TextUnit {
-    if (a.isInherit && b.isInherit) return a
+    if (a.isInherit || b.isInherit) return lerpDiscrete(a, b, t)
     return lerp(a, b, t)
 }
 
diff --git a/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt b/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt
index 921b4e7..aaab067 100644
--- a/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt
+++ b/ui/ui-text-core/src/test/java/androidx/ui/text/ParagraphStyleTest.kt
@@ -284,4 +284,16 @@
 
         assertThat(newStyle.lineHeight).isEqualTo(TextUnit.Inherit)
     }
+
+    @Test
+    fun `lerp lineHeight with either a or b is inherit`() {
+        val style1 = ParagraphStyle(lineHeight = TextUnit.Inherit)
+        val style2 = ParagraphStyle(lineHeight = 22.sp)
+
+        val newStyle = lerp(start = style1, stop = style2, fraction = 0.4f)
+        val anotherNewStyle = lerp(start = style1, stop = style2, fraction = 0.8f)
+
+        assertThat(newStyle.lineHeight).isEqualTo(TextUnit.Inherit)
+        assertThat(anotherNewStyle.lineHeight).isEqualTo(22.sp)
+    }
 }
\ No newline at end of file
diff --git a/ui/ui-text/api/0.1.0-dev11.txt b/ui/ui-text/api/0.1.0-dev11.txt
index 9bb96f8..26b68dd 100644
--- a/ui/ui-text/api/0.1.0-dev11.txt
+++ b/ui/ui-text/api/0.1.0-dev11.txt
@@ -2,7 +2,7 @@
 package androidx.ui.text {
 
   public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
+    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
   }
 
   public final class CoreTextKt {
@@ -13,7 +13,6 @@
 
   public final class TextFieldDelegate {
     ctor public TextFieldDelegate();
-    method public static androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public static void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public static kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public static void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
@@ -25,7 +24,6 @@
 
   public static final class TextFieldDelegate.Companion {
     method public androidx.ui.input.TransformedText applyCompositionDecoration(androidx.ui.text.TextRange compositionRange, androidx.ui.input.TransformedText transformed);
-    method public androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
diff --git a/ui/ui-text/api/current.txt b/ui/ui-text/api/current.txt
index 9bb96f8..26b68dd 100644
--- a/ui/ui-text/api/current.txt
+++ b/ui/ui-text/api/current.txt
@@ -2,7 +2,7 @@
 package androidx.ui.text {
 
   public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
+    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
   }
 
   public final class CoreTextKt {
@@ -13,7 +13,6 @@
 
   public final class TextFieldDelegate {
     ctor public TextFieldDelegate();
-    method public static androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public static void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public static kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public static void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
@@ -25,7 +24,6 @@
 
   public static final class TextFieldDelegate.Companion {
     method public androidx.ui.input.TransformedText applyCompositionDecoration(androidx.ui.text.TextRange compositionRange, androidx.ui.input.TransformedText transformed);
-    method public androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
diff --git a/ui/ui-text/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-text/api/public_plus_experimental_0.1.0-dev11.txt
index 9bb96f8..26b68dd 100644
--- a/ui/ui-text/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-text/api/public_plus_experimental_0.1.0-dev11.txt
@@ -2,7 +2,7 @@
 package androidx.ui.text {
 
   public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
+    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
   }
 
   public final class CoreTextKt {
@@ -13,7 +13,6 @@
 
   public final class TextFieldDelegate {
     ctor public TextFieldDelegate();
-    method public static androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public static void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public static kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public static void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
@@ -25,7 +24,6 @@
 
   public static final class TextFieldDelegate.Companion {
     method public androidx.ui.input.TransformedText applyCompositionDecoration(androidx.ui.text.TextRange compositionRange, androidx.ui.input.TransformedText transformed);
-    method public androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
diff --git a/ui/ui-text/api/public_plus_experimental_current.txt b/ui/ui-text/api/public_plus_experimental_current.txt
index 9bb96f8..26b68dd 100644
--- a/ui/ui-text/api/public_plus_experimental_current.txt
+++ b/ui/ui-text/api/public_plus_experimental_current.txt
@@ -2,7 +2,7 @@
 package androidx.ui.text {
 
   public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
+    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
   }
 
   public final class CoreTextKt {
@@ -13,7 +13,6 @@
 
   public final class TextFieldDelegate {
     ctor public TextFieldDelegate();
-    method public static androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public static void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public static kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public static void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
@@ -25,7 +24,6 @@
 
   public static final class TextFieldDelegate.Companion {
     method public androidx.ui.input.TransformedText applyCompositionDecoration(androidx.ui.text.TextRange compositionRange, androidx.ui.input.TransformedText transformed);
-    method public androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
diff --git a/ui/ui-text/api/restricted_0.1.0-dev11.txt b/ui/ui-text/api/restricted_0.1.0-dev11.txt
index 9bb96f8..26b68dd 100644
--- a/ui/ui-text/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-text/api/restricted_0.1.0-dev11.txt
@@ -2,7 +2,7 @@
 package androidx.ui.text {
 
   public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
+    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
   }
 
   public final class CoreTextKt {
@@ -13,7 +13,6 @@
 
   public final class TextFieldDelegate {
     ctor public TextFieldDelegate();
-    method public static androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public static void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public static kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public static void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
@@ -25,7 +24,6 @@
 
   public static final class TextFieldDelegate.Companion {
     method public androidx.ui.input.TransformedText applyCompositionDecoration(androidx.ui.text.TextRange compositionRange, androidx.ui.input.TransformedText transformed);
-    method public androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
diff --git a/ui/ui-text/api/restricted_current.txt b/ui/ui-text/api/restricted_current.txt
index 9bb96f8..26b68dd 100644
--- a/ui/ui-text/api/restricted_current.txt
+++ b/ui/ui-text/api/restricted_current.txt
@@ -2,7 +2,7 @@
 package androidx.ui.text {
 
   public final class CoreTextFieldKt {
-    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation? visualTransformation = null, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
+    method public static void CoreTextField(androidx.ui.input.EditorValue value, androidx.ui.core.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.ui.input.EditorValue,kotlin.Unit> onValueChange, androidx.ui.text.TextStyle textStyle = TextStyle.Default, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit> onFocusChange = {}, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed = {}, androidx.ui.input.VisualTransformation visualTransformation = VisualTransformation.None, kotlin.jvm.functions.Function1<? super androidx.ui.text.TextLayoutResult,kotlin.Unit> onTextLayout = {}, kotlin.jvm.functions.Function1<? super androidx.ui.text.SoftwareKeyboardController,kotlin.Unit> onTextInputStarted = {});
   }
 
   public final class CoreTextKt {
@@ -13,7 +13,6 @@
 
   public final class TextFieldDelegate {
     ctor public TextFieldDelegate();
-    method public static androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public static void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public static kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public static void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
@@ -25,7 +24,6 @@
 
   public static final class TextFieldDelegate.Companion {
     method public androidx.ui.input.TransformedText applyCompositionDecoration(androidx.ui.text.TextRange compositionRange, androidx.ui.input.TransformedText transformed);
-    method public androidx.ui.input.TransformedText applyVisualFilter(androidx.ui.input.EditorValue value, androidx.ui.input.VisualTransformation? visualTransformation);
     method public void draw-VTazRi4(androidx.ui.graphics.Canvas canvas, androidx.ui.input.EditorValue value, androidx.ui.input.OffsetMap offsetMap, androidx.ui.text.TextLayoutResult textLayoutResult, long selectionColor);
     method public kotlin.Triple<androidx.ui.unit.IntPx,androidx.ui.unit.IntPx,androidx.ui.text.TextLayoutResult> layout(androidx.ui.text.TextDelegate textDelegate, androidx.ui.core.Constraints constraints, androidx.ui.core.LayoutDirection layoutDirection, androidx.ui.text.TextLayoutResult? prevResultText = null);
     method public void notifyFocusedRect(androidx.ui.input.EditorValue value, androidx.ui.text.TextDelegate textDelegate, androidx.ui.text.TextLayoutResult textLayoutResult, androidx.ui.core.LayoutCoordinates layoutCoordinates, androidx.ui.input.TextInputService textInputService, int token, boolean hasFocus, androidx.ui.input.OffsetMap offsetMap);
diff --git a/ui/ui-text/build.gradle b/ui/ui-text/build.gradle
index 2016923..52fcdd8 100644
--- a/ui/ui-text/build.gradle
+++ b/ui/ui-text/build.gradle
@@ -32,7 +32,7 @@
     kotlinPlugin project(path: ":compose:compose-compiler")
     implementation(KOTLIN_STDLIB)
     implementation project(":compose:compose-runtime")
-    api project(":ui:ui-framework")
+    api project(":ui:ui-core")
     api project(":ui:ui-text-core")
 
     testImplementation(ANDROIDX_TEST_RULES)
@@ -46,8 +46,6 @@
     }
 
     androidTestImplementation project(":ui:ui-test")
-    // SelectionContainerTest and TextLayoutTest depends on ui-platform
-    androidTestImplementation project(":ui:ui-platform")
     androidTestImplementation project(":ui:ui-layout")
     androidTestImplementation project(":ui:ui-test-font")
     androidTestImplementation "androidx.core:core:1.0.2"
@@ -84,4 +82,4 @@
             testCoverageEnabled = false // Breaks Kotlin compiler.
         }
     }
-}
\ No newline at end of file
+}
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TailFollowingTextField.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TailFollowingTextField.kt
new file mode 100644
index 0000000..ae09b2e
--- /dev/null
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TailFollowingTextField.kt
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.text.demos
+
+import androidx.compose.Composable
+import androidx.compose.emptyContent
+import androidx.compose.state
+import androidx.ui.core.Constraints
+import androidx.ui.core.Layout
+import androidx.ui.core.Modifier
+import androidx.ui.core.clipToBounds
+import androidx.ui.core.tag
+import androidx.ui.foundation.Box
+import androidx.ui.foundation.Text
+import androidx.ui.foundation.TextField
+import androidx.ui.foundation.VerticalScroller
+import androidx.ui.foundation.drawBackground
+import androidx.ui.geometry.Rect
+import androidx.ui.graphics.Color
+import androidx.ui.input.ImeAction
+import androidx.ui.input.KeyboardType
+import androidx.ui.input.OffsetMap
+import androidx.ui.input.PasswordVisualTransformation
+import androidx.ui.input.TransformedText
+import androidx.ui.input.VisualTransformation
+import androidx.ui.layout.Column
+import androidx.ui.text.AnnotatedString
+import androidx.ui.text.LocaleList
+import androidx.ui.foundation.TextFieldValue
+import androidx.ui.layout.fillMaxWidth
+import androidx.ui.layout.height
+import androidx.ui.layout.padding
+import androidx.ui.savedinstancestate.savedInstanceState
+import androidx.ui.text.TextLayoutResult
+import androidx.ui.text.TextStyle
+import androidx.ui.text.toUpperCase
+import androidx.ui.unit.Dp
+import androidx.ui.unit.IntPx
+import androidx.ui.unit.dp
+import androidx.ui.unit.ipx
+import androidx.ui.unit.max
+import androidx.ui.unit.min
+import androidx.ui.unit.px
+
+@Composable
+fun TailFollowingTextFieldDemo() {
+    Column {
+        val hstate = savedInstanceState(saver = TextFieldValue.Saver) {
+            TextFieldValue("abc def ghi jkl mno pqr stu vwx yz")
+        }
+        HorizontalTailFollowingTextField(
+            value = hstate.value,
+            onValueChange = { hstate.value = it },
+            modifier = Modifier
+                .padding(20.dp)
+                .fillMaxWidth()
+                .drawBackground(Color.Gray)
+                .clipToBounds()
+        )
+
+        val vstate = savedInstanceState(saver = TextFieldValue.Saver) {
+            TextFieldValue("a\nb\nc\nd\ne\nf\ng\nh")
+        }
+        VerticalTailFollowintTextField(
+            value = vstate.value,
+            onValueChange = { vstate.value = it },
+            modifier = Modifier
+                .padding(20.dp)
+                .fillMaxWidth()
+                .height(120.dp)
+                .drawBackground(Color.Gray)
+                .clipToBounds()
+        )
+    }
+}
+
+@Composable
+private fun HorizontalTailFollowingTextField(
+    value: TextFieldValue,
+    onValueChange: (TextFieldValue) -> Unit,
+    modifier: Modifier,
+    textStyle: TextStyle = TextStyle(fontSize = fontSize8)
+) {
+    Layout(
+        children = @Composable() {
+            TextField(
+                value = value,
+                onValueChange = onValueChange,
+                textStyle = textStyle
+            )
+        },
+        modifier = modifier
+    ) { measurable, constraints, _ ->
+
+        val p = measurable[0].measure(
+            Constraints(
+                minWidth = IntPx.Zero,
+                maxWidth = IntPx.Infinity,
+                minHeight = constraints.minHeight,
+                maxHeight = constraints.maxHeight
+            )
+        )
+
+        val width = p.width.coerceIn(constraints.minWidth, constraints.maxWidth)
+        val xOffset = min(IntPx.Zero, constraints.maxWidth - p.width)
+
+        layout(width, p.height) {
+            p.place(xOffset, 0.ipx)
+        }
+    }
+}
+
+@Composable
+private fun VerticalTailFollowintTextField(
+    value: TextFieldValue,
+    onValueChange: (TextFieldValue) -> Unit,
+    modifier: Modifier,
+    textStyle: TextStyle = TextStyle(fontSize = fontSize8)
+) {
+    Layout(
+        children = @Composable() {
+            TextField(
+                value = value,
+                onValueChange = onValueChange,
+                textStyle = textStyle
+            )
+        },
+        modifier = modifier
+    ) { measurable, constraints, _ ->
+
+        val p = measurable[0].measure(
+            Constraints(
+                minWidth = constraints.minWidth,
+                maxWidth = constraints.maxWidth,
+                minHeight = IntPx.Zero,
+                maxHeight = IntPx.Infinity
+            )
+        )
+
+        val height = min(p.height, constraints.maxHeight)
+        val yOffset = min(IntPx.Zero, constraints.maxHeight - p.height)
+
+        layout(p.width, height) {
+            p.place(0.ipx, yOffset)
+        }
+    }
+}
\ No newline at end of file
diff --git a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TextDemos.kt b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TextDemos.kt
index 0ccc809..cc86041 100644
--- a/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TextDemos.kt
+++ b/ui/ui-text/integration-tests/ui-text-compose-demos/src/main/java/androidx/ui/text/demos/TextDemos.kt
@@ -29,6 +29,7 @@
         ComposableDemo("Basic input fields") { InputFieldDemo() },
         ComposableDemo("Various input fields") { VariousInputFieldDemo() },
         ComposableDemo("Tricky input field") { InputFieldTrickyUseCase() },
-        ComposableDemo("Focus transition") { TextFieldFocusTransition() }
+        ComposableDemo("Focus transition") { TextFieldFocusTransition() },
+        ComposableDemo("Tail Following Text Field") { TailFollowingTextFieldDemo() }
     ))
 ))
\ No newline at end of file
diff --git a/ui/ui-text/samples/build.gradle b/ui/ui-text/samples/build.gradle
index e322408..f980a9a 100644
--- a/ui/ui-text/samples/build.gradle
+++ b/ui/ui-text/samples/build.gradle
@@ -33,7 +33,6 @@
     implementation project(":annotation:annotation-sampled")
 
     implementation project(":compose:compose-runtime")
-    implementation project(":ui:ui-framework")
     implementation project(":ui:ui-foundation")
     implementation project(":ui:ui-core")
 }
diff --git a/ui/ui-text/src/main/java/androidx/ui/text/CoreTextField.kt b/ui/ui-text/src/main/java/androidx/ui/text/CoreTextField.kt
index 9a21b61..f1b516a 100644
--- a/ui/ui-text/src/main/java/androidx/ui/text/CoreTextField.kt
+++ b/ui/ui-text/src/main/java/androidx/ui/text/CoreTextField.kt
@@ -62,7 +62,7 @@
     imeAction: ImeAction = ImeAction.Unspecified,
     onFocusChange: (Boolean) -> Unit = {},
     onImeActionPerformed: (ImeAction) -> Unit = {},
-    visualTransformation: VisualTransformation? = null,
+    visualTransformation: VisualTransformation = VisualTransformation.None,
     onTextLayout: (TextLayoutResult) -> Unit = {},
     onTextInputStarted: (SoftwareKeyboardController) -> Unit = {}
 ) {
@@ -82,7 +82,7 @@
 
         // State
         val (visualText, offsetMap) = remember(value, visualTransformation) {
-            val transformed = TextFieldDelegate.applyVisualFilter(value, visualTransformation)
+            val transformed = visualTransformation.filter(AnnotatedString(value.text))
             value.composition?.let {
                 TextFieldDelegate.applyCompositionDecoration(it, transformed)
             } ?: transformed
diff --git a/ui/ui-text/src/main/java/androidx/ui/text/TextFieldDelegate.kt b/ui/ui-text/src/main/java/androidx/ui/text/TextFieldDelegate.kt
index 1084566..2830c4c 100644
--- a/ui/ui-text/src/main/java/androidx/ui/text/TextFieldDelegate.kt
+++ b/ui/ui-text/src/main/java/androidx/ui/text/TextFieldDelegate.kt
@@ -299,22 +299,6 @@
         }
 
         /**
-         * Helper function of applying visual transformation method to the EditorModel.
-         *
-         * @param value An editor state
-         * @param visualTransformation A visual transformation
-         */
-        @JvmStatic
-        fun applyVisualFilter(
-            value: EditorValue,
-            visualTransformation: VisualTransformation?
-        ): TransformedText {
-            val annotatedString = AnnotatedString(value.text)
-            return visualTransformation?.filter(annotatedString)
-                    ?: TransformedText(annotatedString, OffsetMap.identityOffsetMap)
-        }
-
-        /**
          *  Apply the composition text decoration (undeline) to the transformed text.
          *
          *  @param compositionRange An input state
diff --git a/ui/ui-text/src/test/java/androidx/ui/text/TextFieldDelegateTest.kt b/ui/ui-text/src/test/java/androidx/ui/text/TextFieldDelegateTest.kt
index 6a4bcea..8ffa4f5 100644
--- a/ui/ui-text/src/test/java/androidx/ui/text/TextFieldDelegateTest.kt
+++ b/ui/ui-text/src/test/java/androidx/ui/text/TextFieldDelegateTest.kt
@@ -33,6 +33,7 @@
 import androidx.ui.input.SetSelectionEditOp
 import androidx.ui.input.TextInputService
 import androidx.ui.input.TransformedText
+import androidx.ui.input.VisualTransformation
 import androidx.ui.text.style.TextDecoration
 import androidx.ui.unit.Density
 import androidx.ui.unit.IntPxSize
@@ -374,10 +375,9 @@
     }
 
     @Test
-    fun use_identity_mapping_if_visual_transformation_is_null() {
-        val (visualText, offsetMap) = TextFieldDelegate.applyVisualFilter(
-            EditorValue(text = "Hello, World"),
-            null)
+    fun use_identity_mapping_if_none_visual_transformation() {
+        val (visualText, offsetMap) =
+            VisualTransformation.None.filter(AnnotatedString(text = "Hello, World"))
 
         assertEquals("Hello, World", visualText.text)
         for (i in 0..visualText.text.length) {
diff --git a/ui/ui-tooling/build.gradle b/ui/ui-tooling/build.gradle
index 803519b..3de1f67 100644
--- a/ui/ui-tooling/build.gradle
+++ b/ui/ui-tooling/build.gradle
@@ -37,8 +37,6 @@
 
     api(project(":compose:compose-runtime"))
     api(project(":ui:ui-core"))
-    implementation(project(":ui:ui-framework"))
-    implementation(project(":ui:ui-platform"))
     implementation(project(":ui:ui-material"))
     // kotlin-reflect is provided by Studio at runtime
     compileOnly(KOTLIN_REFLECT)
diff --git a/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/PreviewActivity.kt b/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/PreviewActivity.kt
index 4a12a58..a8794ab 100644
--- a/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/PreviewActivity.kt
+++ b/ui/ui-tooling/src/main/java/androidx/ui/tooling/preview/PreviewActivity.kt
@@ -16,6 +16,7 @@
 
 package androidx.ui.tooling.preview
 
+import android.content.pm.ApplicationInfo
 import android.os.Bundle
 import android.util.Log
 import androidx.activity.ComponentActivity
@@ -35,6 +36,12 @@
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        if (applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE == 0) {
+            Log.d("PreviewActivity", "Application is not debuggable. Compose Preview not allowed.")
+            finish()
+            return
+        }
+
         intent?.getStringExtra("composable")?.let {
             Log.d("PreviewActivity", "PreviewActivity has composable $it")
             val className = it.substringBeforeLast('.')
diff --git a/ui/ui-unit/api/0.1.0-dev10.txt b/ui/ui-unit/api/0.1.0-dev10.txt
index 2f30c03..316ae69 100644
--- a/ui/ui-unit/api/0.1.0-dev10.txt
+++ b/ui/ui-unit/api/0.1.0-dev10.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static String toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/0.1.0-dev11.txt b/ui/ui-unit/api/0.1.0-dev11.txt
index 4df20e4..30a4329 100644
--- a/ui/ui-unit/api/0.1.0-dev11.txt
+++ b/ui/ui-unit/api/0.1.0-dev11.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static inline int hashCode-impl(long p);
+    method public static inline String! toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/api_lint.ignore b/ui/ui-unit/api/api_lint.ignore
index e183b70..78507f6 100644
--- a/ui/ui-unit/api/api_lint.ignore
+++ b/ui/ui-unit/api/api_lint.ignore
@@ -1,4 +1,16 @@
 // Baseline format: 1.0
+AcronymName: androidx.ui.core.Constraints#copy-Q13GOEE(int, int, int, int):
+    Acronyms should not be capitalized in method names: was `copy-Q13GOEE`, should this be `copy-Q13Goee`?
+AcronymName: androidx.ui.core.Constraints2Kt#getHasFixedHeight-ybNdgAI(long):
+    Acronyms should not be capitalized in method names: was `getHasFixedHeight-ybNdgAI`, should this be `getHasFixedHeight-ybNdgAi`?
+AcronymName: androidx.ui.core.Constraints2Kt#getHasFixedWidth-ybNdgAI(long):
+    Acronyms should not be capitalized in method names: was `getHasFixedWidth-ybNdgAI`, should this be `getHasFixedWidth-ybNdgAi`?
+AcronymName: androidx.ui.core.Constraints2Kt#isZero-ybNdgAI(long):
+    Acronyms should not be capitalized in method names: was `isZero-ybNdgAI`, should this be `isZero-ybNdgAi`?
+AcronymName: androidx.ui.core.Constraints2Kt#offset-xOKVbDg(long, int, int):
+    Acronyms should not be capitalized in method names: was `offset-xOKVbDg`, should this be `offset-xOkVbDg`?
+AcronymName: androidx.ui.core.ConstraintsKt#offset-3L2DHGc(androidx.ui.core.Constraints, int, int):
+    Acronyms should not be capitalized in method names: was `offset-3L2DHGc`, should this be `offset-3L2DhGc`?
 AcronymName: androidx.ui.unit.Density#toPx-kAYDl8w(long):
     Acronyms should not be capitalized in method names: was `toPx-kAYDl8w`, should this be `toPx-kAyDl8w`?
 AcronymName: androidx.ui.unit.DpKt#center-kAYDl8w(long):
@@ -45,3 +57,7 @@
 
 MethodNameUnits: androidx.ui.unit.Durations#inSeconds(androidx.ui.unit.Duration):
     Returned time values must be in milliseconds, was `inSeconds`
+
+
+MissingNullability: androidx.ui.core.Constraints2#toString-impl(long):
+    Missing nullability on method `toString-impl` return
diff --git a/ui/ui-unit/api/current.txt b/ui/ui-unit/api/current.txt
index 4df20e4..30a4329 100644
--- a/ui/ui-unit/api/current.txt
+++ b/ui/ui-unit/api/current.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static inline int hashCode-impl(long p);
+    method public static inline String! toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/public_plus_experimental_0.1.0-dev10.txt b/ui/ui-unit/api/public_plus_experimental_0.1.0-dev10.txt
index 2f30c03..316ae69 100644
--- a/ui/ui-unit/api/public_plus_experimental_0.1.0-dev10.txt
+++ b/ui/ui-unit/api/public_plus_experimental_0.1.0-dev10.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static String toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/public_plus_experimental_0.1.0-dev11.txt b/ui/ui-unit/api/public_plus_experimental_0.1.0-dev11.txt
index 4df20e4..30a4329 100644
--- a/ui/ui-unit/api/public_plus_experimental_0.1.0-dev11.txt
+++ b/ui/ui-unit/api/public_plus_experimental_0.1.0-dev11.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static inline int hashCode-impl(long p);
+    method public static inline String! toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/public_plus_experimental_current.txt b/ui/ui-unit/api/public_plus_experimental_current.txt
index 4df20e4..30a4329 100644
--- a/ui/ui-unit/api/public_plus_experimental_current.txt
+++ b/ui/ui-unit/api/public_plus_experimental_current.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static inline int hashCode-impl(long p);
+    method public static inline String! toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/restricted_0.1.0-dev10.txt b/ui/ui-unit/api/restricted_0.1.0-dev10.txt
index 2f30c03..316ae69 100644
--- a/ui/ui-unit/api/restricted_0.1.0-dev10.txt
+++ b/ui/ui-unit/api/restricted_0.1.0-dev10.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static String toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/restricted_0.1.0-dev11.txt b/ui/ui-unit/api/restricted_0.1.0-dev11.txt
index 4df20e4..30a4329 100644
--- a/ui/ui-unit/api/restricted_0.1.0-dev11.txt
+++ b/ui/ui-unit/api/restricted_0.1.0-dev11.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static inline int hashCode-impl(long p);
+    method public static inline String! toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/api/restricted_current.txt b/ui/ui-unit/api/restricted_current.txt
index 4df20e4..30a4329 100644
--- a/ui/ui-unit/api/restricted_current.txt
+++ b/ui/ui-unit/api/restricted_current.txt
@@ -1,4 +1,79 @@
 // Signature format: 3.0
+package androidx.ui.core {
+
+  public final class Constraints {
+    method public int component1();
+    method public int component2();
+    method public int component3();
+    method public int component4();
+    method public androidx.ui.core.Constraints copy-Q13GOEE(int minWidth, int maxWidth, int minHeight, int maxHeight);
+    method public int getMaxHeight();
+    method public int getMaxWidth();
+    method public int getMinHeight();
+    method public int getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints fixed-rRMsBxU(int width, int height);
+    method public androidx.ui.core.Constraints fixedHeight-gshw56o(int height);
+    method public androidx.ui.core.Constraints fixedWidth-gshw56o(int width);
+  }
+
+  public final inline class Constraints2 {
+    ctor public Constraints2();
+    method public static long constructor-impl(internal long value);
+    method public static long copy-impl(long $this, int minWidth = this.minWidth, int maxWidth = this.maxWidth, int minHeight = this.minHeight, int maxHeight = this.maxHeight);
+    method public static inline boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static boolean getHasBoundedHeight-impl(long $this);
+    method public static boolean getHasBoundedWidth-impl(long $this);
+    method public static int getMaxHeight-impl(long $this);
+    method public static int getMaxWidth-impl(long $this);
+    method public static int getMinHeight-impl(long $this);
+    method public static int getMinWidth-impl(long $this);
+    method public static inline int hashCode-impl(long p);
+    method public static inline String! toString-impl(long p);
+    field public static final androidx.ui.core.Constraints2.Companion! Companion;
+    field public static final int Infinity = -1073741824; // 0xc0000000
+  }
+
+  public static final class Constraints2.Companion {
+    method public long fixed(int width, int height);
+    method public long fixedHeight(int height);
+    method public long fixedWidth(int width);
+  }
+
+  public final class Constraints2Kt {
+    method public static long Constraints2(@IntRange(from=0) int minWidth = 0, int maxWidth = -1073741824, @IntRange(from=0) int minHeight = 0, int maxHeight = -1073741824);
+    method public static long constrain-M1ogGms(long, long size);
+    method public static long enforce-uQjoOwo(long, long otherConstraints);
+    method public static boolean getHasFixedHeight-ybNdgAI(long);
+    method public static boolean getHasFixedWidth-ybNdgAI(long);
+    method public static boolean isZero-ybNdgAI(long);
+    method public static long offset-xOKVbDg(long, int horizontal = 0, int vertical = 0);
+    method public static boolean satisfiedBy-M1ogGms(long, long size);
+  }
+
+  public final class ConstraintsKt {
+    method public static androidx.ui.unit.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasFixedWidth(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset-3L2DHGc(androidx.ui.core.Constraints, int horizontal = 0.ipx, int vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.unit.IntPxSize size);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+}
+
 package androidx.ui.unit {
 
   public final class Bounds {
diff --git a/ui/ui-unit/samples/build.gradle b/ui/ui-unit/samples/build.gradle
index 7730d39..5922905 100644
--- a/ui/ui-unit/samples/build.gradle
+++ b/ui/ui-unit/samples/build.gradle
@@ -34,7 +34,7 @@
 
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-unit")
-    implementation project(":ui:ui-framework")
+    implementation project(":ui:ui-core")
 }
 
 android {
diff --git a/ui/ui-core/src/main/java/androidx/ui/core/Constraints.kt b/ui/ui-unit/src/main/java/androidx/ui/core/Constraints.kt
similarity index 100%
rename from ui/ui-core/src/main/java/androidx/ui/core/Constraints.kt
rename to ui/ui-unit/src/main/java/androidx/ui/core/Constraints.kt
diff --git a/ui/ui-core/src/main/java/androidx/ui/core/Constraints2.kt b/ui/ui-unit/src/main/java/androidx/ui/core/Constraints2.kt
similarity index 100%
rename from ui/ui-core/src/main/java/androidx/ui/core/Constraints2.kt
rename to ui/ui-unit/src/main/java/androidx/ui/core/Constraints2.kt
diff --git a/ui/ui-core/src/main/java/androidx/ui/core/LayoutDirection.kt b/ui/ui-unit/src/main/java/androidx/ui/core/LayoutDirection.kt
similarity index 100%
rename from ui/ui-core/src/main/java/androidx/ui/core/LayoutDirection.kt
rename to ui/ui-unit/src/main/java/androidx/ui/core/LayoutDirection.kt
diff --git a/ui/ui-unit/src/main/java/androidx/ui/unit/IntSize.kt b/ui/ui-unit/src/main/java/androidx/ui/unit/IntSize.kt
index 255672b5d..2076ac6 100644
--- a/ui/ui-unit/src/main/java/androidx/ui/unit/IntSize.kt
+++ b/ui/ui-unit/src/main/java/androidx/ui/unit/IntSize.kt
@@ -43,6 +43,7 @@
     /**
      * Returns an IntSize scaled by multiplying [width] and [height] by [other]
      */
+
     operator fun times(other: Int): IntSize =
         IntSize(width = width * other, height = height * other)
 
diff --git a/ui/ui-unit/src/main/java/androidx/ui/unit/Px.kt b/ui/ui-unit/src/main/java/androidx/ui/unit/Px.kt
index 9f3a814..36c4444 100644
--- a/ui/ui-unit/src/main/java/androidx/ui/unit/Px.kt
+++ b/ui/ui-unit/src/main/java/androidx/ui/unit/Px.kt
@@ -430,7 +430,6 @@
 /**
  * A two dimensional size using [Px] for units
  */
-@OptIn(ExperimentalUnsignedTypes::class)
 @Immutable
 data class PxSize @PublishedApi internal constructor(@PublishedApi internal val value: Long) {
 
@@ -498,7 +497,6 @@
 /**
  * Constructs a [PxSize] from width and height [Px] values.
  */
-@OptIn(ExperimentalUnsignedTypes::class)
 inline fun PxSize(width: Px, height: Px): PxSize = PxSize(packFloats(width.value, height.value))
 
 /**
@@ -532,7 +530,6 @@
 /**
  * A two-dimensional position using [Px] for units
  */
-@OptIn(ExperimentalUnsignedTypes::class)
 @Immutable
 data class PxPosition @PublishedApi internal constructor(@PublishedApi internal val value: Long) {
     /**
@@ -586,7 +583,6 @@
 /**
  * Constructs a [PxPosition] from [x] and [y] position [Px] values.
  */
-@OptIn(ExperimentalUnsignedTypes::class)
 inline fun PxPosition(x: Px, y: Px): PxPosition = PxPosition(packFloats(x.value, y.value))
 
 /**
diff --git a/ui/ui-util/integration-tests/samples/build.gradle b/ui/ui-util/integration-tests/samples/build.gradle
index 84ad5db..0cb704e 100644
--- a/ui/ui-util/integration-tests/samples/build.gradle
+++ b/ui/ui-util/integration-tests/samples/build.gradle
@@ -34,7 +34,6 @@
 
     implementation project(":compose:compose-runtime")
     implementation project(":ui:ui-core")
-    implementation project(":ui:ui-framework")
 }
 
 android {
diff --git a/ui/ui-vector/build.gradle b/ui/ui-vector/build.gradle
index 3b3c65cf..f570a86 100644
--- a/ui/ui-vector/build.gradle
+++ b/ui/ui-vector/build.gradle
@@ -31,7 +31,7 @@
 dependencies {
     kotlinPlugin project(path: ":compose:compose-compiler")
 
-    api project(':ui:ui-core')
+    api project(':ui:ui-graphics')
     api project(":compose:compose-runtime")
     implementation (KOTLIN_STDLIB)
 }
diff --git a/work/workmanager-gcm/api/2.4.0-beta01.txt b/work/workmanager-gcm/api/2.4.0-beta01.txt
new file mode 100644
index 0000000..da4f6cc
--- /dev/null
+++ b/work/workmanager-gcm/api/2.4.0-beta01.txt
@@ -0,0 +1 @@
+// Signature format: 3.0
diff --git a/work/workmanager-gcm/api/public_plus_experimental_2.4.0-beta01.txt b/work/workmanager-gcm/api/public_plus_experimental_2.4.0-beta01.txt
new file mode 100644
index 0000000..da4f6cc
--- /dev/null
+++ b/work/workmanager-gcm/api/public_plus_experimental_2.4.0-beta01.txt
@@ -0,0 +1 @@
+// Signature format: 3.0
diff --git a/ui/ui-platform/api/res-0.1.0-dev01.txt b/work/workmanager-gcm/api/res-2.4.0-beta01.txt
similarity index 100%
rename from ui/ui-platform/api/res-0.1.0-dev01.txt
rename to work/workmanager-gcm/api/res-2.4.0-beta01.txt
diff --git a/work/workmanager-gcm/api/restricted_2.4.0-beta01.txt b/work/workmanager-gcm/api/restricted_2.4.0-beta01.txt
new file mode 100644
index 0000000..da4f6cc
--- /dev/null
+++ b/work/workmanager-gcm/api/restricted_2.4.0-beta01.txt
@@ -0,0 +1 @@
+// Signature format: 3.0
diff --git a/work/workmanager-ktx/api/2.4.0-beta01.ignore b/work/workmanager-ktx/api/2.4.0-beta01.ignore
new file mode 100644
index 0000000..523b36f
--- /dev/null
+++ b/work/workmanager-ktx/api/2.4.0-beta01.ignore
@@ -0,0 +1,13 @@
+// Baseline format: 1.0
+InvalidNullConversion: androidx.work.CoroutineWorker#doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result>):
+    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.work.CoroutineWorker.doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result>)
+InvalidNullConversion: androidx.work.OneTimeWorkRequestKt#OneTimeWorkRequestBuilder():
+    Attempted to remove @NonNull annotation from method androidx.work.OneTimeWorkRequestKt.OneTimeWorkRequestBuilder()
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(java.time.Duration):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(java.time.Duration)
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(java.time.Duration, java.time.Duration):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(java.time.Duration,java.time.Duration)
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(long, java.util.concurrent.TimeUnit):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(long,java.util.concurrent.TimeUnit)
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(long,java.util.concurrent.TimeUnit,long,java.util.concurrent.TimeUnit)
diff --git a/work/workmanager-ktx/api/2.4.0-beta01.txt b/work/workmanager-ktx/api/2.4.0-beta01.txt
new file mode 100644
index 0000000..4cb2b80
--- /dev/null
+++ b/work/workmanager-ktx/api/2.4.0-beta01.txt
@@ -0,0 +1,40 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class CoroutineWorker extends androidx.work.ListenableWorker {
+    ctor public CoroutineWorker(android.content.Context appContext, androidx.work.WorkerParameters params);
+    method public abstract suspend Object? doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result> p);
+    method @Deprecated public kotlinx.coroutines.CoroutineDispatcher getCoroutineContext();
+    method public final void onStopped();
+    method public final suspend Object? setForeground(androidx.work.ForegroundInfo foregroundInfo, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? setProgress(androidx.work.Data data, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result> startWork();
+    property @Deprecated public kotlinx.coroutines.CoroutineDispatcher coroutineContext;
+  }
+
+  public final class DataKt {
+    method public static inline <reified T> boolean hasKeyWithValueOfType(androidx.work.Data, String key);
+    method public static inline androidx.work.Data workDataOf(kotlin.Pair<java.lang.String,?>... pairs);
+  }
+
+  public final class ListenableFutureKt {
+  }
+
+  public final class OneTimeWorkRequestKt {
+    method public static inline <reified W> androidx.work.OneTimeWorkRequest.Builder! OneTimeWorkRequestBuilder();
+    method public static inline androidx.work.OneTimeWorkRequest.Builder setInputMerger(androidx.work.OneTimeWorkRequest.Builder, kotlin.reflect.KClass<? extends androidx.work.InputMerger> inputMerger);
+  }
+
+  public final class OperationKt {
+    method public static suspend inline Object? await(androidx.work.Operation, kotlin.coroutines.Continuation<? super androidx.work.Operation.State.SUCCESS> p);
+  }
+
+  public final class PeriodicWorkRequestKt {
+    method public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit);
+    method @RequiresApi(26) public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval);
+    method public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit, long flexTimeInterval, java.util.concurrent.TimeUnit flexTimeIntervalUnit);
+    method @RequiresApi(26) public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval, java.time.Duration flexTimeInterval);
+  }
+
+}
+
diff --git a/work/workmanager-ktx/api/public_plus_experimental_2.4.0-beta01.txt b/work/workmanager-ktx/api/public_plus_experimental_2.4.0-beta01.txt
new file mode 100644
index 0000000..4cb2b80
--- /dev/null
+++ b/work/workmanager-ktx/api/public_plus_experimental_2.4.0-beta01.txt
@@ -0,0 +1,40 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class CoroutineWorker extends androidx.work.ListenableWorker {
+    ctor public CoroutineWorker(android.content.Context appContext, androidx.work.WorkerParameters params);
+    method public abstract suspend Object? doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result> p);
+    method @Deprecated public kotlinx.coroutines.CoroutineDispatcher getCoroutineContext();
+    method public final void onStopped();
+    method public final suspend Object? setForeground(androidx.work.ForegroundInfo foregroundInfo, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? setProgress(androidx.work.Data data, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result> startWork();
+    property @Deprecated public kotlinx.coroutines.CoroutineDispatcher coroutineContext;
+  }
+
+  public final class DataKt {
+    method public static inline <reified T> boolean hasKeyWithValueOfType(androidx.work.Data, String key);
+    method public static inline androidx.work.Data workDataOf(kotlin.Pair<java.lang.String,?>... pairs);
+  }
+
+  public final class ListenableFutureKt {
+  }
+
+  public final class OneTimeWorkRequestKt {
+    method public static inline <reified W> androidx.work.OneTimeWorkRequest.Builder! OneTimeWorkRequestBuilder();
+    method public static inline androidx.work.OneTimeWorkRequest.Builder setInputMerger(androidx.work.OneTimeWorkRequest.Builder, kotlin.reflect.KClass<? extends androidx.work.InputMerger> inputMerger);
+  }
+
+  public final class OperationKt {
+    method public static suspend inline Object? await(androidx.work.Operation, kotlin.coroutines.Continuation<? super androidx.work.Operation.State.SUCCESS> p);
+  }
+
+  public final class PeriodicWorkRequestKt {
+    method public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit);
+    method @RequiresApi(26) public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval);
+    method public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit, long flexTimeInterval, java.util.concurrent.TimeUnit flexTimeIntervalUnit);
+    method @RequiresApi(26) public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval, java.time.Duration flexTimeInterval);
+  }
+
+}
+
diff --git a/ui/ui-framework/api/res-0.1.0-dev01.txt b/work/workmanager-ktx/api/res-2.4.0-beta01.txt
similarity index 100%
rename from ui/ui-framework/api/res-0.1.0-dev01.txt
rename to work/workmanager-ktx/api/res-2.4.0-beta01.txt
diff --git a/work/workmanager-ktx/api/restricted_2.4.0-beta01.ignore b/work/workmanager-ktx/api/restricted_2.4.0-beta01.ignore
new file mode 100644
index 0000000..523b36f
--- /dev/null
+++ b/work/workmanager-ktx/api/restricted_2.4.0-beta01.ignore
@@ -0,0 +1,13 @@
+// Baseline format: 1.0
+InvalidNullConversion: androidx.work.CoroutineWorker#doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result>):
+    Attempted to change method return from @NonNull to @Nullable: incompatible change for method androidx.work.CoroutineWorker.doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result>)
+InvalidNullConversion: androidx.work.OneTimeWorkRequestKt#OneTimeWorkRequestBuilder():
+    Attempted to remove @NonNull annotation from method androidx.work.OneTimeWorkRequestKt.OneTimeWorkRequestBuilder()
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(java.time.Duration):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(java.time.Duration)
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(java.time.Duration, java.time.Duration):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(java.time.Duration,java.time.Duration)
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(long, java.util.concurrent.TimeUnit):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(long,java.util.concurrent.TimeUnit)
+InvalidNullConversion: androidx.work.PeriodicWorkRequestKt#PeriodicWorkRequestBuilder(long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit):
+    Attempted to remove @NonNull annotation from method androidx.work.PeriodicWorkRequestKt.PeriodicWorkRequestBuilder(long,java.util.concurrent.TimeUnit,long,java.util.concurrent.TimeUnit)
diff --git a/work/workmanager-ktx/api/restricted_2.4.0-beta01.txt b/work/workmanager-ktx/api/restricted_2.4.0-beta01.txt
new file mode 100644
index 0000000..4cb2b80
--- /dev/null
+++ b/work/workmanager-ktx/api/restricted_2.4.0-beta01.txt
@@ -0,0 +1,40 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class CoroutineWorker extends androidx.work.ListenableWorker {
+    ctor public CoroutineWorker(android.content.Context appContext, androidx.work.WorkerParameters params);
+    method public abstract suspend Object? doWork(kotlin.coroutines.Continuation<? super androidx.work.ListenableWorker.Result> p);
+    method @Deprecated public kotlinx.coroutines.CoroutineDispatcher getCoroutineContext();
+    method public final void onStopped();
+    method public final suspend Object? setForeground(androidx.work.ForegroundInfo foregroundInfo, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final suspend Object? setProgress(androidx.work.Data data, kotlin.coroutines.Continuation<? super kotlin.Unit> p);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result> startWork();
+    property @Deprecated public kotlinx.coroutines.CoroutineDispatcher coroutineContext;
+  }
+
+  public final class DataKt {
+    method public static inline <reified T> boolean hasKeyWithValueOfType(androidx.work.Data, String key);
+    method public static inline androidx.work.Data workDataOf(kotlin.Pair<java.lang.String,?>... pairs);
+  }
+
+  public final class ListenableFutureKt {
+  }
+
+  public final class OneTimeWorkRequestKt {
+    method public static inline <reified W> androidx.work.OneTimeWorkRequest.Builder! OneTimeWorkRequestBuilder();
+    method public static inline androidx.work.OneTimeWorkRequest.Builder setInputMerger(androidx.work.OneTimeWorkRequest.Builder, kotlin.reflect.KClass<? extends androidx.work.InputMerger> inputMerger);
+  }
+
+  public final class OperationKt {
+    method public static suspend inline Object? await(androidx.work.Operation, kotlin.coroutines.Continuation<? super androidx.work.Operation.State.SUCCESS> p);
+  }
+
+  public final class PeriodicWorkRequestKt {
+    method public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit);
+    method @RequiresApi(26) public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval);
+    method public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(long repeatInterval, java.util.concurrent.TimeUnit repeatIntervalTimeUnit, long flexTimeInterval, java.util.concurrent.TimeUnit flexTimeIntervalUnit);
+    method @RequiresApi(26) public static inline <reified W> androidx.work.PeriodicWorkRequest.Builder! PeriodicWorkRequestBuilder(java.time.Duration repeatInterval, java.time.Duration flexTimeInterval);
+  }
+
+}
+
diff --git a/work/workmanager-rxjava2/api/2.4.0-beta01.txt b/work/workmanager-rxjava2/api/2.4.0-beta01.txt
new file mode 100644
index 0000000..8764610
--- /dev/null
+++ b/work/workmanager-rxjava2/api/2.4.0-beta01.txt
@@ -0,0 +1,14 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.Completable setCompletableProgress(androidx.work.Data);
+    method @Deprecated public final io.reactivex.Single<java.lang.Void!> setProgress(androidx.work.Data);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava2/api/public_plus_experimental_2.4.0-beta01.txt b/work/workmanager-rxjava2/api/public_plus_experimental_2.4.0-beta01.txt
new file mode 100644
index 0000000..8764610
--- /dev/null
+++ b/work/workmanager-rxjava2/api/public_plus_experimental_2.4.0-beta01.txt
@@ -0,0 +1,14 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.Completable setCompletableProgress(androidx.work.Data);
+    method @Deprecated public final io.reactivex.Single<java.lang.Void!> setProgress(androidx.work.Data);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/ui/ui-framework/api/res-0.1.0-dev01.txt b/work/workmanager-rxjava2/api/res-2.4.0-beta01.txt
similarity index 100%
copy from ui/ui-framework/api/res-0.1.0-dev01.txt
copy to work/workmanager-rxjava2/api/res-2.4.0-beta01.txt
diff --git a/work/workmanager-rxjava2/api/restricted_2.4.0-beta01.txt b/work/workmanager-rxjava2/api/restricted_2.4.0-beta01.txt
new file mode 100644
index 0000000..8764610
--- /dev/null
+++ b/work/workmanager-rxjava2/api/restricted_2.4.0-beta01.txt
@@ -0,0 +1,14 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.Completable setCompletableProgress(androidx.work.Data);
+    method @Deprecated public final io.reactivex.Single<java.lang.Void!> setProgress(androidx.work.Data);
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava3/api/2.4.0-beta01.txt b/work/workmanager-rxjava3/api/2.4.0-beta01.txt
new file mode 100644
index 0000000..be6440d
--- /dev/null
+++ b/work/workmanager-rxjava3/api/2.4.0-beta01.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.work.rxjava3 {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.rxjava3.core.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.rxjava3.core.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.rxjava3.core.Completable setCompletableProgress(androidx.work.Data);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-rxjava3/api/public_plus_experimental_2.4.0-beta01.txt b/work/workmanager-rxjava3/api/public_plus_experimental_2.4.0-beta01.txt
new file mode 100644
index 0000000..be6440d
--- /dev/null
+++ b/work/workmanager-rxjava3/api/public_plus_experimental_2.4.0-beta01.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.work.rxjava3 {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.rxjava3.core.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.rxjava3.core.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.rxjava3.core.Completable setCompletableProgress(androidx.work.Data);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/ui/ui-framework/api/res-0.1.0-dev01.txt b/work/workmanager-rxjava3/api/res-2.4.0-beta01.txt
similarity index 100%
copy from ui/ui-framework/api/res-0.1.0-dev01.txt
copy to work/workmanager-rxjava3/api/res-2.4.0-beta01.txt
diff --git a/work/workmanager-rxjava3/api/restricted_2.4.0-beta01.txt b/work/workmanager-rxjava3/api/restricted_2.4.0-beta01.txt
new file mode 100644
index 0000000..be6440d
--- /dev/null
+++ b/work/workmanager-rxjava3/api/restricted_2.4.0-beta01.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.work.rxjava3 {
+
+  public abstract class RxWorker extends androidx.work.ListenableWorker {
+    ctor public RxWorker(android.content.Context, androidx.work.WorkerParameters);
+    method @MainThread public abstract io.reactivex.rxjava3.core.Single<androidx.work.ListenableWorker.Result!> createWork();
+    method protected io.reactivex.rxjava3.core.Scheduler getBackgroundScheduler();
+    method public final io.reactivex.rxjava3.core.Completable setCompletableProgress(androidx.work.Data);
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+}
+
diff --git a/work/workmanager-testing/api/2.4.0-beta01.ignore b/work/workmanager-testing/api/2.4.0-beta01.ignore
new file mode 100644
index 0000000..c30fe58
--- /dev/null
+++ b/work/workmanager-testing/api/2.4.0-beta01.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+InvalidNullConversion: androidx.work.testing.TestListenableWorkerBuilderKt#TestListenableWorkerBuilder(android.content.Context, androidx.work.Data, java.util.List<? extends java.lang.String>, int, java.util.List<? extends android.net.Uri>, java.util.List<? extends java.lang.String>):
+    Attempted to remove @NonNull annotation from method androidx.work.testing.TestListenableWorkerBuilderKt.TestListenableWorkerBuilder(android.content.Context,androidx.work.Data,java.util.List<? extends java.lang.String>,int,java.util.List<? extends android.net.Uri>,java.util.List<? extends java.lang.String>)
+InvalidNullConversion: androidx.work.testing.TestWorkerBuilderKt#TestWorkerBuilder(android.content.Context, java.util.concurrent.Executor, androidx.work.Data, java.util.List<? extends java.lang.String>, int, java.util.List<? extends android.net.Uri>, java.util.List<? extends java.lang.String>):
+    Attempted to remove @NonNull annotation from method androidx.work.testing.TestWorkerBuilderKt.TestWorkerBuilder(android.content.Context,java.util.concurrent.Executor,androidx.work.Data,java.util.List<? extends java.lang.String>,int,java.util.List<? extends android.net.Uri>,java.util.List<? extends java.lang.String>)
diff --git a/work/workmanager-testing/api/2.4.0-beta01.txt b/work/workmanager-testing/api/2.4.0-beta01.txt
new file mode 100644
index 0000000..313870f
--- /dev/null
+++ b/work/workmanager-testing/api/2.4.0-beta01.txt
@@ -0,0 +1,52 @@
+// Signature format: 3.0
+package androidx.work.testing {
+
+  public class SynchronousExecutor implements java.util.concurrent.Executor {
+    ctor public SynchronousExecutor();
+    method public void execute(Runnable);
+  }
+
+  public interface TestDriver {
+    method public void setAllConstraintsMet(java.util.UUID);
+    method public void setInitialDelayMet(java.util.UUID);
+    method public void setPeriodDelayMet(java.util.UUID);
+  }
+
+  public class TestListenableWorkerBuilder<W extends androidx.work.ListenableWorker> {
+    method public W build();
+    method public static androidx.work.testing.TestListenableWorkerBuilder from(android.content.Context, androidx.work.WorkRequest);
+    method public static <W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W!> from(android.content.Context, Class<W!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setForegroundUpdater(androidx.work.ForegroundUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setId(java.util.UUID);
+    method public androidx.work.testing.TestListenableWorkerBuilder setInputData(androidx.work.Data);
+    method @RequiresApi(28) public androidx.work.testing.TestListenableWorkerBuilder setNetwork(android.net.Network);
+    method public androidx.work.testing.TestListenableWorkerBuilder setProgressUpdater(androidx.work.ProgressUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setRunAttemptCount(int);
+    method public androidx.work.testing.TestListenableWorkerBuilder setTags(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentAuthorities(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentUris(java.util.List<android.net.Uri!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public final class TestListenableWorkerBuilderKt {
+    method public static inline <reified W> androidx.work.testing.TestListenableWorkerBuilder<W>! TestListenableWorkerBuilder(android.content.Context context, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public class TestWorkerBuilder<W extends androidx.work.Worker> extends androidx.work.testing.TestListenableWorkerBuilder<W> {
+    method public static androidx.work.testing.TestWorkerBuilder<? extends androidx.work.Worker> from(android.content.Context, androidx.work.WorkRequest, java.util.concurrent.Executor);
+    method public static <W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W!> from(android.content.Context, Class<W!>, java.util.concurrent.Executor);
+  }
+
+  public final class TestWorkerBuilderKt {
+    method public static inline <reified W> androidx.work.testing.TestWorkerBuilder<W>! TestWorkerBuilder(android.content.Context context, java.util.concurrent.Executor executor, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public final class WorkManagerTestInitHelper {
+    method @Deprecated public static androidx.work.testing.TestDriver? getTestDriver();
+    method public static androidx.work.testing.TestDriver? getTestDriver(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context, androidx.work.Configuration);
+  }
+
+}
+
diff --git a/work/workmanager-testing/api/public_plus_experimental_2.4.0-beta01.txt b/work/workmanager-testing/api/public_plus_experimental_2.4.0-beta01.txt
new file mode 100644
index 0000000..313870f
--- /dev/null
+++ b/work/workmanager-testing/api/public_plus_experimental_2.4.0-beta01.txt
@@ -0,0 +1,52 @@
+// Signature format: 3.0
+package androidx.work.testing {
+
+  public class SynchronousExecutor implements java.util.concurrent.Executor {
+    ctor public SynchronousExecutor();
+    method public void execute(Runnable);
+  }
+
+  public interface TestDriver {
+    method public void setAllConstraintsMet(java.util.UUID);
+    method public void setInitialDelayMet(java.util.UUID);
+    method public void setPeriodDelayMet(java.util.UUID);
+  }
+
+  public class TestListenableWorkerBuilder<W extends androidx.work.ListenableWorker> {
+    method public W build();
+    method public static androidx.work.testing.TestListenableWorkerBuilder from(android.content.Context, androidx.work.WorkRequest);
+    method public static <W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W!> from(android.content.Context, Class<W!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setForegroundUpdater(androidx.work.ForegroundUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setId(java.util.UUID);
+    method public androidx.work.testing.TestListenableWorkerBuilder setInputData(androidx.work.Data);
+    method @RequiresApi(28) public androidx.work.testing.TestListenableWorkerBuilder setNetwork(android.net.Network);
+    method public androidx.work.testing.TestListenableWorkerBuilder setProgressUpdater(androidx.work.ProgressUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setRunAttemptCount(int);
+    method public androidx.work.testing.TestListenableWorkerBuilder setTags(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentAuthorities(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentUris(java.util.List<android.net.Uri!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public final class TestListenableWorkerBuilderKt {
+    method public static inline <reified W> androidx.work.testing.TestListenableWorkerBuilder<W>! TestListenableWorkerBuilder(android.content.Context context, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public class TestWorkerBuilder<W extends androidx.work.Worker> extends androidx.work.testing.TestListenableWorkerBuilder<W> {
+    method public static androidx.work.testing.TestWorkerBuilder<? extends androidx.work.Worker> from(android.content.Context, androidx.work.WorkRequest, java.util.concurrent.Executor);
+    method public static <W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W!> from(android.content.Context, Class<W!>, java.util.concurrent.Executor);
+  }
+
+  public final class TestWorkerBuilderKt {
+    method public static inline <reified W> androidx.work.testing.TestWorkerBuilder<W>! TestWorkerBuilder(android.content.Context context, java.util.concurrent.Executor executor, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public final class WorkManagerTestInitHelper {
+    method @Deprecated public static androidx.work.testing.TestDriver? getTestDriver();
+    method public static androidx.work.testing.TestDriver? getTestDriver(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context, androidx.work.Configuration);
+  }
+
+}
+
diff --git a/navigation/navigation-testing/api/res-2.3.0-alpha07.txt b/work/workmanager-testing/api/res-2.4.0-beta01.txt
similarity index 100%
copy from navigation/navigation-testing/api/res-2.3.0-alpha07.txt
copy to work/workmanager-testing/api/res-2.4.0-beta01.txt
diff --git a/work/workmanager-testing/api/restricted_2.4.0-beta01.ignore b/work/workmanager-testing/api/restricted_2.4.0-beta01.ignore
new file mode 100644
index 0000000..c30fe58
--- /dev/null
+++ b/work/workmanager-testing/api/restricted_2.4.0-beta01.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+InvalidNullConversion: androidx.work.testing.TestListenableWorkerBuilderKt#TestListenableWorkerBuilder(android.content.Context, androidx.work.Data, java.util.List<? extends java.lang.String>, int, java.util.List<? extends android.net.Uri>, java.util.List<? extends java.lang.String>):
+    Attempted to remove @NonNull annotation from method androidx.work.testing.TestListenableWorkerBuilderKt.TestListenableWorkerBuilder(android.content.Context,androidx.work.Data,java.util.List<? extends java.lang.String>,int,java.util.List<? extends android.net.Uri>,java.util.List<? extends java.lang.String>)
+InvalidNullConversion: androidx.work.testing.TestWorkerBuilderKt#TestWorkerBuilder(android.content.Context, java.util.concurrent.Executor, androidx.work.Data, java.util.List<? extends java.lang.String>, int, java.util.List<? extends android.net.Uri>, java.util.List<? extends java.lang.String>):
+    Attempted to remove @NonNull annotation from method androidx.work.testing.TestWorkerBuilderKt.TestWorkerBuilder(android.content.Context,java.util.concurrent.Executor,androidx.work.Data,java.util.List<? extends java.lang.String>,int,java.util.List<? extends android.net.Uri>,java.util.List<? extends java.lang.String>)
diff --git a/work/workmanager-testing/api/restricted_2.4.0-beta01.txt b/work/workmanager-testing/api/restricted_2.4.0-beta01.txt
new file mode 100644
index 0000000..313870f
--- /dev/null
+++ b/work/workmanager-testing/api/restricted_2.4.0-beta01.txt
@@ -0,0 +1,52 @@
+// Signature format: 3.0
+package androidx.work.testing {
+
+  public class SynchronousExecutor implements java.util.concurrent.Executor {
+    ctor public SynchronousExecutor();
+    method public void execute(Runnable);
+  }
+
+  public interface TestDriver {
+    method public void setAllConstraintsMet(java.util.UUID);
+    method public void setInitialDelayMet(java.util.UUID);
+    method public void setPeriodDelayMet(java.util.UUID);
+  }
+
+  public class TestListenableWorkerBuilder<W extends androidx.work.ListenableWorker> {
+    method public W build();
+    method public static androidx.work.testing.TestListenableWorkerBuilder from(android.content.Context, androidx.work.WorkRequest);
+    method public static <W extends androidx.work.ListenableWorker> androidx.work.testing.TestListenableWorkerBuilder<W!> from(android.content.Context, Class<W!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setForegroundUpdater(androidx.work.ForegroundUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setId(java.util.UUID);
+    method public androidx.work.testing.TestListenableWorkerBuilder setInputData(androidx.work.Data);
+    method @RequiresApi(28) public androidx.work.testing.TestListenableWorkerBuilder setNetwork(android.net.Network);
+    method public androidx.work.testing.TestListenableWorkerBuilder setProgressUpdater(androidx.work.ProgressUpdater);
+    method public androidx.work.testing.TestListenableWorkerBuilder setRunAttemptCount(int);
+    method public androidx.work.testing.TestListenableWorkerBuilder setTags(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentAuthorities(java.util.List<java.lang.String!>);
+    method @RequiresApi(24) public androidx.work.testing.TestListenableWorkerBuilder setTriggeredContentUris(java.util.List<android.net.Uri!>);
+    method public androidx.work.testing.TestListenableWorkerBuilder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public final class TestListenableWorkerBuilderKt {
+    method public static inline <reified W> androidx.work.testing.TestListenableWorkerBuilder<W>! TestListenableWorkerBuilder(android.content.Context context, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public class TestWorkerBuilder<W extends androidx.work.Worker> extends androidx.work.testing.TestListenableWorkerBuilder<W> {
+    method public static androidx.work.testing.TestWorkerBuilder<? extends androidx.work.Worker> from(android.content.Context, androidx.work.WorkRequest, java.util.concurrent.Executor);
+    method public static <W extends androidx.work.Worker> androidx.work.testing.TestWorkerBuilder<W!> from(android.content.Context, Class<W!>, java.util.concurrent.Executor);
+  }
+
+  public final class TestWorkerBuilderKt {
+    method public static inline <reified W> androidx.work.testing.TestWorkerBuilder<W>! TestWorkerBuilder(android.content.Context context, java.util.concurrent.Executor executor, androidx.work.Data inputData = androidx.work.Data.EMPTY, java.util.List<? extends java.lang.String> tags = emptyList(), int runAttemptCount = 1, java.util.List<? extends android.net.Uri> triggeredContentUris = emptyList(), java.util.List<? extends java.lang.String> triggeredContentAuthorities = emptyList());
+  }
+
+  public final class WorkManagerTestInitHelper {
+    method @Deprecated public static androidx.work.testing.TestDriver? getTestDriver();
+    method public static androidx.work.testing.TestDriver? getTestDriver(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context);
+    method public static void initializeTestWorkManager(android.content.Context, androidx.work.Configuration);
+  }
+
+}
+
diff --git a/work/workmanager/api/2.4.0-beta01.ignore b/work/workmanager/api/2.4.0-beta01.ignore
new file mode 100644
index 0000000..2417a90
--- /dev/null
+++ b/work/workmanager/api/2.4.0-beta01.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+AddedAbstractMethod: androidx.work.WorkManager#getWorkInfos(androidx.work.WorkQuery):
+    Added method androidx.work.WorkManager.getWorkInfos(androidx.work.WorkQuery)
+AddedAbstractMethod: androidx.work.WorkManager#getWorkInfosLiveData(androidx.work.WorkQuery):
+    Added method androidx.work.WorkManager.getWorkInfosLiveData(androidx.work.WorkQuery)
diff --git a/work/workmanager/api/2.4.0-beta01.txt b/work/workmanager/api/2.4.0-beta01.txt
new file mode 100644
index 0000000..53a232d
--- /dev/null
+++ b/work/workmanager/api/2.4.0-beta01.txt
@@ -0,0 +1,358 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
+    ctor public ArrayCreatingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public enum BackoffPolicy {
+    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
+    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
+  }
+
+  public final class Configuration {
+    method public java.util.concurrent.Executor getExecutor();
+    method public androidx.work.InputMergerFactory getInputMergerFactory();
+    method public int getMaxJobSchedulerId();
+    method public int getMinJobSchedulerId();
+    method public androidx.work.RunnableScheduler getRunnableScheduler();
+    method public java.util.concurrent.Executor getTaskExecutor();
+    method public androidx.work.WorkerFactory getWorkerFactory();
+    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
+  }
+
+  public static final class Configuration.Builder {
+    ctor public Configuration.Builder();
+    method public androidx.work.Configuration build();
+    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
+    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
+    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
+    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
+    method public androidx.work.Configuration.Builder setRunnableScheduler(androidx.work.RunnableScheduler);
+    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public static interface Configuration.Provider {
+    method public androidx.work.Configuration getWorkManagerConfiguration();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.work.Constraints);
+    method public androidx.work.NetworkType getRequiredNetworkType();
+    method public boolean requiresBatteryNotLow();
+    method public boolean requiresCharging();
+    method @RequiresApi(23) public boolean requiresDeviceIdle();
+    method public boolean requiresStorageNotLow();
+    field public static final androidx.work.Constraints! NONE;
+  }
+
+  public static final class Constraints.Builder {
+    ctor public Constraints.Builder();
+    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
+    method public androidx.work.Constraints build();
+    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
+    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
+    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
+    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
+    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
+  }
+
+  public final class Data {
+    ctor public Data(androidx.work.Data);
+    method public static androidx.work.Data fromByteArray(byte[]);
+    method public boolean getBoolean(String, boolean);
+    method public boolean[]? getBooleanArray(String);
+    method public byte getByte(String, byte);
+    method public byte[]? getByteArray(String);
+    method public double getDouble(String, double);
+    method public double[]? getDoubleArray(String);
+    method public float getFloat(String, float);
+    method public float[]? getFloatArray(String);
+    method public int getInt(String, int);
+    method public int[]? getIntArray(String);
+    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
+    method public long getLong(String, long);
+    method public long[]? getLongArray(String);
+    method public String? getString(String);
+    method public String![]? getStringArray(String);
+    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
+    method public byte[] toByteArray();
+    field public static final androidx.work.Data! EMPTY;
+    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
+  }
+
+  public static final class Data.Builder {
+    ctor public Data.Builder();
+    method public androidx.work.Data build();
+    method public androidx.work.Data.Builder putAll(androidx.work.Data);
+    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
+    method public androidx.work.Data.Builder putBoolean(String, boolean);
+    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
+    method public androidx.work.Data.Builder putByte(String, byte);
+    method public androidx.work.Data.Builder putByteArray(String, byte[]);
+    method public androidx.work.Data.Builder putDouble(String, double);
+    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
+    method public androidx.work.Data.Builder putFloat(String, float);
+    method public androidx.work.Data.Builder putFloatArray(String, float[]);
+    method public androidx.work.Data.Builder putInt(String, int);
+    method public androidx.work.Data.Builder putIntArray(String, int[]);
+    method public androidx.work.Data.Builder putLong(String, long);
+    method public androidx.work.Data.Builder putLongArray(String, long[]);
+    method public androidx.work.Data.Builder putString(String, String?);
+    method public androidx.work.Data.Builder putStringArray(String, String![]);
+  }
+
+  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
+    ctor public DelegatingWorkerFactory();
+    method public final void addFactory(androidx.work.WorkerFactory);
+    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public enum ExistingPeriodicWorkPolicy {
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
+  }
+
+  public enum ExistingWorkPolicy {
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND_OR_REPLACE;
+    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
+  }
+
+  public final class ForegroundInfo {
+    ctor public ForegroundInfo(int, android.app.Notification);
+    ctor public ForegroundInfo(int, android.app.Notification, int);
+    method public int getForegroundServiceType();
+    method public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public interface ForegroundUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
+  }
+
+  public abstract class InputMerger {
+    ctor public InputMerger();
+    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public abstract class InputMergerFactory {
+    ctor public InputMergerFactory();
+    method public abstract androidx.work.InputMerger? createInputMerger(String);
+  }
+
+  public abstract class ListenableWorker {
+    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
+    method public final android.content.Context getApplicationContext();
+    method public final java.util.UUID getId();
+    method public final androidx.work.Data getInputData();
+    method @RequiresApi(28) public final android.net.Network? getNetwork();
+    method @IntRange(from=0) public final int getRunAttemptCount();
+    method public final java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
+    method public final boolean isStopped();
+    method public void onStopped();
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
+    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract static class ListenableWorker.Result {
+    method public static androidx.work.ListenableWorker.Result failure();
+    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
+    method public static androidx.work.ListenableWorker.Result retry();
+    method public static androidx.work.ListenableWorker.Result success();
+    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
+  }
+
+  public enum NetworkType {
+    enum_constant public static final androidx.work.NetworkType CONNECTED;
+    enum_constant public static final androidx.work.NetworkType METERED;
+    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
+    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
+    enum_constant public static final androidx.work.NetworkType UNMETERED;
+  }
+
+  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
+    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
+    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
+  }
+
+  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
+    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
+    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
+  }
+
+  public interface Operation {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
+    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
+  }
+
+  public abstract static class Operation.State {
+  }
+
+  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
+    ctor public Operation.State.FAILURE(Throwable);
+    method public Throwable getThrowable();
+  }
+
+  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
+  }
+
+  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
+  }
+
+  public final class OverwritingInputMerger extends androidx.work.InputMerger {
+    ctor public OverwritingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
+    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
+    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
+  }
+
+  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
+  }
+
+  public interface ProgressUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
+  }
+
+  public interface RunnableScheduler {
+    method public void cancel(Runnable);
+    method public void scheduleWithDelay(@IntRange(from=0) long, Runnable);
+  }
+
+  public abstract class WorkContinuation {
+    ctor public WorkContinuation();
+    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
+    method public abstract androidx.work.Operation enqueue();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
+    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
+  }
+
+  public final class WorkInfo {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getOutputData();
+    method public androidx.work.Data getProgress();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public androidx.work.WorkInfo.State getState();
+    method public java.util.Set<java.lang.String!> getTags();
+  }
+
+  public enum WorkInfo.State {
+    method public boolean isFinished();
+    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
+    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
+    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
+    enum_constant public static final androidx.work.WorkInfo.State FAILED;
+    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
+    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
+  }
+
+  public abstract class WorkManager {
+    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public abstract androidx.work.Operation cancelAllWork();
+    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
+    method public abstract androidx.work.Operation cancelUniqueWork(String);
+    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
+    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
+    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
+    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
+    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
+    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method @Deprecated public static androidx.work.WorkManager getInstance();
+    method public static androidx.work.WorkManager getInstance(android.content.Context);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
+    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
+    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos(androidx.work.WorkQuery);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData(androidx.work.WorkQuery);
+    method public static void initialize(android.content.Context, androidx.work.Configuration);
+    method public abstract androidx.work.Operation pruneWork();
+  }
+
+  public final class WorkQuery {
+    method public java.util.List<androidx.work.WorkInfo.State!> getStates();
+    method public java.util.List<java.lang.String!> getTags();
+    method public java.util.List<java.lang.String!> getUniqueWorkNames();
+  }
+
+  public static final class WorkQuery.Builder {
+    method public androidx.work.WorkQuery.Builder addStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public androidx.work.WorkQuery.Builder addTags(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery.Builder addUniqueWorkNames(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery build();
+    method public static androidx.work.WorkQuery.Builder fromStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public static androidx.work.WorkQuery.Builder fromTags(java.util.List<java.lang.String!>);
+    method public static androidx.work.WorkQuery.Builder fromUniqueWorkNames(java.util.List<java.lang.String!>);
+  }
+
+  public abstract class WorkRequest {
+    method public java.util.UUID getId();
+    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
+    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
+  }
+
+  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
+    method public final B addTag(String);
+    method public final W build();
+    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
+    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
+    method public final B setConstraints(androidx.work.Constraints);
+    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
+    method public final B setInputData(androidx.work.Data);
+  }
+
+  public abstract class Worker extends androidx.work.ListenableWorker {
+    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
+    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract class WorkerFactory {
+    ctor public WorkerFactory();
+    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public final class WorkerParameters {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getInputData();
+    method @RequiresApi(28) public android.net.Network? getNetwork();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
+  }
+
+}
+
diff --git a/work/workmanager/api/public_plus_experimental_2.4.0-beta01.txt b/work/workmanager/api/public_plus_experimental_2.4.0-beta01.txt
new file mode 100644
index 0000000..53a232d
--- /dev/null
+++ b/work/workmanager/api/public_plus_experimental_2.4.0-beta01.txt
@@ -0,0 +1,358 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
+    ctor public ArrayCreatingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public enum BackoffPolicy {
+    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
+    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
+  }
+
+  public final class Configuration {
+    method public java.util.concurrent.Executor getExecutor();
+    method public androidx.work.InputMergerFactory getInputMergerFactory();
+    method public int getMaxJobSchedulerId();
+    method public int getMinJobSchedulerId();
+    method public androidx.work.RunnableScheduler getRunnableScheduler();
+    method public java.util.concurrent.Executor getTaskExecutor();
+    method public androidx.work.WorkerFactory getWorkerFactory();
+    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
+  }
+
+  public static final class Configuration.Builder {
+    ctor public Configuration.Builder();
+    method public androidx.work.Configuration build();
+    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
+    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
+    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
+    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
+    method public androidx.work.Configuration.Builder setRunnableScheduler(androidx.work.RunnableScheduler);
+    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public static interface Configuration.Provider {
+    method public androidx.work.Configuration getWorkManagerConfiguration();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.work.Constraints);
+    method public androidx.work.NetworkType getRequiredNetworkType();
+    method public boolean requiresBatteryNotLow();
+    method public boolean requiresCharging();
+    method @RequiresApi(23) public boolean requiresDeviceIdle();
+    method public boolean requiresStorageNotLow();
+    field public static final androidx.work.Constraints! NONE;
+  }
+
+  public static final class Constraints.Builder {
+    ctor public Constraints.Builder();
+    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
+    method public androidx.work.Constraints build();
+    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
+    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
+    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
+    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
+    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
+  }
+
+  public final class Data {
+    ctor public Data(androidx.work.Data);
+    method public static androidx.work.Data fromByteArray(byte[]);
+    method public boolean getBoolean(String, boolean);
+    method public boolean[]? getBooleanArray(String);
+    method public byte getByte(String, byte);
+    method public byte[]? getByteArray(String);
+    method public double getDouble(String, double);
+    method public double[]? getDoubleArray(String);
+    method public float getFloat(String, float);
+    method public float[]? getFloatArray(String);
+    method public int getInt(String, int);
+    method public int[]? getIntArray(String);
+    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
+    method public long getLong(String, long);
+    method public long[]? getLongArray(String);
+    method public String? getString(String);
+    method public String![]? getStringArray(String);
+    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
+    method public byte[] toByteArray();
+    field public static final androidx.work.Data! EMPTY;
+    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
+  }
+
+  public static final class Data.Builder {
+    ctor public Data.Builder();
+    method public androidx.work.Data build();
+    method public androidx.work.Data.Builder putAll(androidx.work.Data);
+    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
+    method public androidx.work.Data.Builder putBoolean(String, boolean);
+    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
+    method public androidx.work.Data.Builder putByte(String, byte);
+    method public androidx.work.Data.Builder putByteArray(String, byte[]);
+    method public androidx.work.Data.Builder putDouble(String, double);
+    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
+    method public androidx.work.Data.Builder putFloat(String, float);
+    method public androidx.work.Data.Builder putFloatArray(String, float[]);
+    method public androidx.work.Data.Builder putInt(String, int);
+    method public androidx.work.Data.Builder putIntArray(String, int[]);
+    method public androidx.work.Data.Builder putLong(String, long);
+    method public androidx.work.Data.Builder putLongArray(String, long[]);
+    method public androidx.work.Data.Builder putString(String, String?);
+    method public androidx.work.Data.Builder putStringArray(String, String![]);
+  }
+
+  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
+    ctor public DelegatingWorkerFactory();
+    method public final void addFactory(androidx.work.WorkerFactory);
+    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public enum ExistingPeriodicWorkPolicy {
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
+  }
+
+  public enum ExistingWorkPolicy {
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND_OR_REPLACE;
+    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
+  }
+
+  public final class ForegroundInfo {
+    ctor public ForegroundInfo(int, android.app.Notification);
+    ctor public ForegroundInfo(int, android.app.Notification, int);
+    method public int getForegroundServiceType();
+    method public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public interface ForegroundUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
+  }
+
+  public abstract class InputMerger {
+    ctor public InputMerger();
+    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public abstract class InputMergerFactory {
+    ctor public InputMergerFactory();
+    method public abstract androidx.work.InputMerger? createInputMerger(String);
+  }
+
+  public abstract class ListenableWorker {
+    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
+    method public final android.content.Context getApplicationContext();
+    method public final java.util.UUID getId();
+    method public final androidx.work.Data getInputData();
+    method @RequiresApi(28) public final android.net.Network? getNetwork();
+    method @IntRange(from=0) public final int getRunAttemptCount();
+    method public final java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
+    method public final boolean isStopped();
+    method public void onStopped();
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
+    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract static class ListenableWorker.Result {
+    method public static androidx.work.ListenableWorker.Result failure();
+    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
+    method public static androidx.work.ListenableWorker.Result retry();
+    method public static androidx.work.ListenableWorker.Result success();
+    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
+  }
+
+  public enum NetworkType {
+    enum_constant public static final androidx.work.NetworkType CONNECTED;
+    enum_constant public static final androidx.work.NetworkType METERED;
+    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
+    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
+    enum_constant public static final androidx.work.NetworkType UNMETERED;
+  }
+
+  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
+    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
+    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
+  }
+
+  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
+    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
+    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
+  }
+
+  public interface Operation {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
+    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
+  }
+
+  public abstract static class Operation.State {
+  }
+
+  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
+    ctor public Operation.State.FAILURE(Throwable);
+    method public Throwable getThrowable();
+  }
+
+  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
+  }
+
+  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
+  }
+
+  public final class OverwritingInputMerger extends androidx.work.InputMerger {
+    ctor public OverwritingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
+    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
+    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
+  }
+
+  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
+  }
+
+  public interface ProgressUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
+  }
+
+  public interface RunnableScheduler {
+    method public void cancel(Runnable);
+    method public void scheduleWithDelay(@IntRange(from=0) long, Runnable);
+  }
+
+  public abstract class WorkContinuation {
+    ctor public WorkContinuation();
+    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
+    method public abstract androidx.work.Operation enqueue();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
+    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
+  }
+
+  public final class WorkInfo {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getOutputData();
+    method public androidx.work.Data getProgress();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public androidx.work.WorkInfo.State getState();
+    method public java.util.Set<java.lang.String!> getTags();
+  }
+
+  public enum WorkInfo.State {
+    method public boolean isFinished();
+    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
+    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
+    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
+    enum_constant public static final androidx.work.WorkInfo.State FAILED;
+    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
+    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
+  }
+
+  public abstract class WorkManager {
+    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public abstract androidx.work.Operation cancelAllWork();
+    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
+    method public abstract androidx.work.Operation cancelUniqueWork(String);
+    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
+    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
+    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
+    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
+    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
+    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method @Deprecated public static androidx.work.WorkManager getInstance();
+    method public static androidx.work.WorkManager getInstance(android.content.Context);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
+    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
+    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos(androidx.work.WorkQuery);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData(androidx.work.WorkQuery);
+    method public static void initialize(android.content.Context, androidx.work.Configuration);
+    method public abstract androidx.work.Operation pruneWork();
+  }
+
+  public final class WorkQuery {
+    method public java.util.List<androidx.work.WorkInfo.State!> getStates();
+    method public java.util.List<java.lang.String!> getTags();
+    method public java.util.List<java.lang.String!> getUniqueWorkNames();
+  }
+
+  public static final class WorkQuery.Builder {
+    method public androidx.work.WorkQuery.Builder addStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public androidx.work.WorkQuery.Builder addTags(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery.Builder addUniqueWorkNames(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery build();
+    method public static androidx.work.WorkQuery.Builder fromStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public static androidx.work.WorkQuery.Builder fromTags(java.util.List<java.lang.String!>);
+    method public static androidx.work.WorkQuery.Builder fromUniqueWorkNames(java.util.List<java.lang.String!>);
+  }
+
+  public abstract class WorkRequest {
+    method public java.util.UUID getId();
+    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
+    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
+  }
+
+  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
+    method public final B addTag(String);
+    method public final W build();
+    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
+    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
+    method public final B setConstraints(androidx.work.Constraints);
+    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
+    method public final B setInputData(androidx.work.Data);
+  }
+
+  public abstract class Worker extends androidx.work.ListenableWorker {
+    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
+    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract class WorkerFactory {
+    ctor public WorkerFactory();
+    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public final class WorkerParameters {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getInputData();
+    method @RequiresApi(28) public android.net.Network? getNetwork();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
+  }
+
+}
+
diff --git a/ui/ui-framework/api/res-0.1.0-dev01.txt b/work/workmanager/api/res-2.4.0-beta01.txt
similarity index 100%
copy from ui/ui-framework/api/res-0.1.0-dev01.txt
copy to work/workmanager/api/res-2.4.0-beta01.txt
diff --git a/work/workmanager/api/restricted_2.4.0-beta01.ignore b/work/workmanager/api/restricted_2.4.0-beta01.ignore
new file mode 100644
index 0000000..2417a90
--- /dev/null
+++ b/work/workmanager/api/restricted_2.4.0-beta01.ignore
@@ -0,0 +1,5 @@
+// Baseline format: 1.0
+AddedAbstractMethod: androidx.work.WorkManager#getWorkInfos(androidx.work.WorkQuery):
+    Added method androidx.work.WorkManager.getWorkInfos(androidx.work.WorkQuery)
+AddedAbstractMethod: androidx.work.WorkManager#getWorkInfosLiveData(androidx.work.WorkQuery):
+    Added method androidx.work.WorkManager.getWorkInfosLiveData(androidx.work.WorkQuery)
diff --git a/work/workmanager/api/restricted_2.4.0-beta01.txt b/work/workmanager/api/restricted_2.4.0-beta01.txt
new file mode 100644
index 0000000..53a232d
--- /dev/null
+++ b/work/workmanager/api/restricted_2.4.0-beta01.txt
@@ -0,0 +1,358 @@
+// Signature format: 3.0
+package androidx.work {
+
+  public final class ArrayCreatingInputMerger extends androidx.work.InputMerger {
+    ctor public ArrayCreatingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public enum BackoffPolicy {
+    enum_constant public static final androidx.work.BackoffPolicy EXPONENTIAL;
+    enum_constant public static final androidx.work.BackoffPolicy LINEAR;
+  }
+
+  public final class Configuration {
+    method public java.util.concurrent.Executor getExecutor();
+    method public androidx.work.InputMergerFactory getInputMergerFactory();
+    method public int getMaxJobSchedulerId();
+    method public int getMinJobSchedulerId();
+    method public androidx.work.RunnableScheduler getRunnableScheduler();
+    method public java.util.concurrent.Executor getTaskExecutor();
+    method public androidx.work.WorkerFactory getWorkerFactory();
+    field public static final int MIN_SCHEDULER_LIMIT = 20; // 0x14
+  }
+
+  public static final class Configuration.Builder {
+    ctor public Configuration.Builder();
+    method public androidx.work.Configuration build();
+    method public androidx.work.Configuration.Builder setExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setInputMergerFactory(androidx.work.InputMergerFactory);
+    method public androidx.work.Configuration.Builder setJobSchedulerJobIdRange(int, int);
+    method public androidx.work.Configuration.Builder setMaxSchedulerLimit(int);
+    method public androidx.work.Configuration.Builder setMinimumLoggingLevel(int);
+    method public androidx.work.Configuration.Builder setRunnableScheduler(androidx.work.RunnableScheduler);
+    method public androidx.work.Configuration.Builder setTaskExecutor(java.util.concurrent.Executor);
+    method public androidx.work.Configuration.Builder setWorkerFactory(androidx.work.WorkerFactory);
+  }
+
+  public static interface Configuration.Provider {
+    method public androidx.work.Configuration getWorkManagerConfiguration();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.work.Constraints);
+    method public androidx.work.NetworkType getRequiredNetworkType();
+    method public boolean requiresBatteryNotLow();
+    method public boolean requiresCharging();
+    method @RequiresApi(23) public boolean requiresDeviceIdle();
+    method public boolean requiresStorageNotLow();
+    field public static final androidx.work.Constraints! NONE;
+  }
+
+  public static final class Constraints.Builder {
+    ctor public Constraints.Builder();
+    method @RequiresApi(24) public androidx.work.Constraints.Builder addContentUriTrigger(android.net.Uri, boolean);
+    method public androidx.work.Constraints build();
+    method public androidx.work.Constraints.Builder setRequiredNetworkType(androidx.work.NetworkType);
+    method public androidx.work.Constraints.Builder setRequiresBatteryNotLow(boolean);
+    method public androidx.work.Constraints.Builder setRequiresCharging(boolean);
+    method @RequiresApi(23) public androidx.work.Constraints.Builder setRequiresDeviceIdle(boolean);
+    method public androidx.work.Constraints.Builder setRequiresStorageNotLow(boolean);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentMaxDelay(java.time.Duration!);
+    method @RequiresApi(24) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public androidx.work.Constraints.Builder setTriggerContentUpdateDelay(java.time.Duration!);
+  }
+
+  public final class Data {
+    ctor public Data(androidx.work.Data);
+    method public static androidx.work.Data fromByteArray(byte[]);
+    method public boolean getBoolean(String, boolean);
+    method public boolean[]? getBooleanArray(String);
+    method public byte getByte(String, byte);
+    method public byte[]? getByteArray(String);
+    method public double getDouble(String, double);
+    method public double[]? getDoubleArray(String);
+    method public float getFloat(String, float);
+    method public float[]? getFloatArray(String);
+    method public int getInt(String, int);
+    method public int[]? getIntArray(String);
+    method public java.util.Map<java.lang.String!,java.lang.Object!> getKeyValueMap();
+    method public long getLong(String, long);
+    method public long[]? getLongArray(String);
+    method public String? getString(String);
+    method public String![]? getStringArray(String);
+    method public <T> boolean hasKeyWithValueOfType(String, Class<T!>);
+    method public byte[] toByteArray();
+    field public static final androidx.work.Data! EMPTY;
+    field public static final int MAX_DATA_BYTES = 10240; // 0x2800
+  }
+
+  public static final class Data.Builder {
+    ctor public Data.Builder();
+    method public androidx.work.Data build();
+    method public androidx.work.Data.Builder putAll(androidx.work.Data);
+    method public androidx.work.Data.Builder putAll(java.util.Map<java.lang.String!,java.lang.Object!>);
+    method public androidx.work.Data.Builder putBoolean(String, boolean);
+    method public androidx.work.Data.Builder putBooleanArray(String, boolean[]);
+    method public androidx.work.Data.Builder putByte(String, byte);
+    method public androidx.work.Data.Builder putByteArray(String, byte[]);
+    method public androidx.work.Data.Builder putDouble(String, double);
+    method public androidx.work.Data.Builder putDoubleArray(String, double[]);
+    method public androidx.work.Data.Builder putFloat(String, float);
+    method public androidx.work.Data.Builder putFloatArray(String, float[]);
+    method public androidx.work.Data.Builder putInt(String, int);
+    method public androidx.work.Data.Builder putIntArray(String, int[]);
+    method public androidx.work.Data.Builder putLong(String, long);
+    method public androidx.work.Data.Builder putLongArray(String, long[]);
+    method public androidx.work.Data.Builder putString(String, String?);
+    method public androidx.work.Data.Builder putStringArray(String, String![]);
+  }
+
+  public class DelegatingWorkerFactory extends androidx.work.WorkerFactory {
+    ctor public DelegatingWorkerFactory();
+    method public final void addFactory(androidx.work.WorkerFactory);
+    method public final androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public enum ExistingPeriodicWorkPolicy {
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingPeriodicWorkPolicy REPLACE;
+  }
+
+  public enum ExistingWorkPolicy {
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND;
+    enum_constant public static final androidx.work.ExistingWorkPolicy APPEND_OR_REPLACE;
+    enum_constant public static final androidx.work.ExistingWorkPolicy KEEP;
+    enum_constant public static final androidx.work.ExistingWorkPolicy REPLACE;
+  }
+
+  public final class ForegroundInfo {
+    ctor public ForegroundInfo(int, android.app.Notification);
+    ctor public ForegroundInfo(int, android.app.Notification, int);
+    method public int getForegroundServiceType();
+    method public android.app.Notification getNotification();
+    method public int getNotificationId();
+  }
+
+  public interface ForegroundUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(android.content.Context, java.util.UUID, androidx.work.ForegroundInfo);
+  }
+
+  public abstract class InputMerger {
+    ctor public InputMerger();
+    method public abstract androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public abstract class InputMergerFactory {
+    ctor public InputMergerFactory();
+    method public abstract androidx.work.InputMerger? createInputMerger(String);
+  }
+
+  public abstract class ListenableWorker {
+    ctor @Keep public ListenableWorker(android.content.Context, androidx.work.WorkerParameters);
+    method public final android.content.Context getApplicationContext();
+    method public final java.util.UUID getId();
+    method public final androidx.work.Data getInputData();
+    method @RequiresApi(28) public final android.net.Network? getNetwork();
+    method @IntRange(from=0) public final int getRunAttemptCount();
+    method public final java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public final java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public final java.util.List<android.net.Uri!> getTriggeredContentUris();
+    method public final boolean isStopped();
+    method public void onStopped();
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setForegroundAsync(androidx.work.ForegroundInfo);
+    method public final com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> setProgressAsync(androidx.work.Data);
+    method @MainThread public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract static class ListenableWorker.Result {
+    method public static androidx.work.ListenableWorker.Result failure();
+    method public static androidx.work.ListenableWorker.Result failure(androidx.work.Data);
+    method public static androidx.work.ListenableWorker.Result retry();
+    method public static androidx.work.ListenableWorker.Result success();
+    method public static androidx.work.ListenableWorker.Result success(androidx.work.Data);
+  }
+
+  public enum NetworkType {
+    enum_constant public static final androidx.work.NetworkType CONNECTED;
+    enum_constant public static final androidx.work.NetworkType METERED;
+    enum_constant public static final androidx.work.NetworkType NOT_REQUIRED;
+    enum_constant public static final androidx.work.NetworkType NOT_ROAMING;
+    enum_constant public static final androidx.work.NetworkType UNMETERED;
+  }
+
+  public final class OneTimeWorkRequest extends androidx.work.WorkRequest {
+    method public static androidx.work.OneTimeWorkRequest from(Class<? extends androidx.work.ListenableWorker>);
+    method public static java.util.List<androidx.work.OneTimeWorkRequest!> from(java.util.List<java.lang.Class<? extends androidx.work.ListenableWorker>!>);
+  }
+
+  public static final class OneTimeWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.OneTimeWorkRequest.Builder,androidx.work.OneTimeWorkRequest> {
+    ctor public OneTimeWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>);
+    method public androidx.work.OneTimeWorkRequest.Builder setInputMerger(Class<? extends androidx.work.InputMerger>);
+  }
+
+  public interface Operation {
+    method public com.google.common.util.concurrent.ListenableFuture<androidx.work.Operation.State.SUCCESS!> getResult();
+    method public androidx.lifecycle.LiveData<androidx.work.Operation.State!> getState();
+  }
+
+  public abstract static class Operation.State {
+  }
+
+  public static final class Operation.State.FAILURE extends androidx.work.Operation.State {
+    ctor public Operation.State.FAILURE(Throwable);
+    method public Throwable getThrowable();
+  }
+
+  public static final class Operation.State.IN_PROGRESS extends androidx.work.Operation.State {
+  }
+
+  public static final class Operation.State.SUCCESS extends androidx.work.Operation.State {
+  }
+
+  public final class OverwritingInputMerger extends androidx.work.InputMerger {
+    ctor public OverwritingInputMerger();
+    method public androidx.work.Data merge(java.util.List<androidx.work.Data!>);
+  }
+
+  public final class PeriodicWorkRequest extends androidx.work.WorkRequest {
+    field public static final long MIN_PERIODIC_FLEX_MILLIS = 300000L; // 0x493e0L
+    field public static final long MIN_PERIODIC_INTERVAL_MILLIS = 900000L; // 0xdbba0L
+  }
+
+  public static final class PeriodicWorkRequest.Builder extends androidx.work.WorkRequest.Builder<androidx.work.PeriodicWorkRequest.Builder,androidx.work.PeriodicWorkRequest> {
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration);
+    ctor public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit);
+    ctor @RequiresApi(26) public PeriodicWorkRequest.Builder(Class<? extends androidx.work.ListenableWorker>, java.time.Duration, java.time.Duration);
+  }
+
+  public interface ProgressUpdater {
+    method public com.google.common.util.concurrent.ListenableFuture<java.lang.Void!> updateProgress(android.content.Context, java.util.UUID, androidx.work.Data);
+  }
+
+  public interface RunnableScheduler {
+    method public void cancel(Runnable);
+    method public void scheduleWithDelay(@IntRange(from=0) long, Runnable);
+  }
+
+  public abstract class WorkContinuation {
+    ctor public WorkContinuation();
+    method public static androidx.work.WorkContinuation combine(java.util.List<androidx.work.WorkContinuation!>);
+    method public abstract androidx.work.Operation enqueue();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos();
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData();
+    method public final androidx.work.WorkContinuation then(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation then(java.util.List<androidx.work.OneTimeWorkRequest!>);
+  }
+
+  public final class WorkInfo {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getOutputData();
+    method public androidx.work.Data getProgress();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public androidx.work.WorkInfo.State getState();
+    method public java.util.Set<java.lang.String!> getTags();
+  }
+
+  public enum WorkInfo.State {
+    method public boolean isFinished();
+    enum_constant public static final androidx.work.WorkInfo.State BLOCKED;
+    enum_constant public static final androidx.work.WorkInfo.State CANCELLED;
+    enum_constant public static final androidx.work.WorkInfo.State ENQUEUED;
+    enum_constant public static final androidx.work.WorkInfo.State FAILED;
+    enum_constant public static final androidx.work.WorkInfo.State RUNNING;
+    enum_constant public static final androidx.work.WorkInfo.State SUCCEEDED;
+  }
+
+  public abstract class WorkManager {
+    method public final androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public final androidx.work.WorkContinuation beginWith(androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.WorkContinuation beginWith(java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method public abstract androidx.work.Operation cancelAllWork();
+    method public abstract androidx.work.Operation cancelAllWorkByTag(String);
+    method public abstract androidx.work.Operation cancelUniqueWork(String);
+    method public abstract androidx.work.Operation cancelWorkById(java.util.UUID);
+    method public abstract android.app.PendingIntent createCancelPendingIntent(java.util.UUID);
+    method public final androidx.work.Operation enqueue(androidx.work.WorkRequest);
+    method public abstract androidx.work.Operation enqueue(java.util.List<? extends androidx.work.WorkRequest>);
+    method public abstract androidx.work.Operation enqueueUniquePeriodicWork(String, androidx.work.ExistingPeriodicWorkPolicy, androidx.work.PeriodicWorkRequest);
+    method public androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, androidx.work.OneTimeWorkRequest);
+    method public abstract androidx.work.Operation enqueueUniqueWork(String, androidx.work.ExistingWorkPolicy, java.util.List<androidx.work.OneTimeWorkRequest!>);
+    method @Deprecated public static androidx.work.WorkManager getInstance();
+    method public static androidx.work.WorkManager getInstance(android.content.Context);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.lang.Long!> getLastCancelAllTimeMillis();
+    method public abstract androidx.lifecycle.LiveData<java.lang.Long!> getLastCancelAllTimeMillisLiveData();
+    method public abstract com.google.common.util.concurrent.ListenableFuture<androidx.work.WorkInfo!> getWorkInfoById(java.util.UUID);
+    method public abstract androidx.lifecycle.LiveData<androidx.work.WorkInfo!> getWorkInfoByIdLiveData(java.util.UUID);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfos(androidx.work.WorkQuery);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTag(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosByTagLiveData(String);
+    method public abstract com.google.common.util.concurrent.ListenableFuture<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWork(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosForUniqueWorkLiveData(String);
+    method public abstract androidx.lifecycle.LiveData<java.util.List<androidx.work.WorkInfo!>!> getWorkInfosLiveData(androidx.work.WorkQuery);
+    method public static void initialize(android.content.Context, androidx.work.Configuration);
+    method public abstract androidx.work.Operation pruneWork();
+  }
+
+  public final class WorkQuery {
+    method public java.util.List<androidx.work.WorkInfo.State!> getStates();
+    method public java.util.List<java.lang.String!> getTags();
+    method public java.util.List<java.lang.String!> getUniqueWorkNames();
+  }
+
+  public static final class WorkQuery.Builder {
+    method public androidx.work.WorkQuery.Builder addStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public androidx.work.WorkQuery.Builder addTags(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery.Builder addUniqueWorkNames(java.util.List<java.lang.String!>);
+    method public androidx.work.WorkQuery build();
+    method public static androidx.work.WorkQuery.Builder fromStates(java.util.List<androidx.work.WorkInfo.State!>);
+    method public static androidx.work.WorkQuery.Builder fromTags(java.util.List<java.lang.String!>);
+    method public static androidx.work.WorkQuery.Builder fromUniqueWorkNames(java.util.List<java.lang.String!>);
+  }
+
+  public abstract class WorkRequest {
+    method public java.util.UUID getId();
+    field public static final long DEFAULT_BACKOFF_DELAY_MILLIS = 30000L; // 0x7530L
+    field public static final long MAX_BACKOFF_MILLIS = 18000000L; // 0x112a880L
+    field public static final long MIN_BACKOFF_MILLIS = 10000L; // 0x2710L
+  }
+
+  public abstract static class WorkRequest.Builder<B extends androidx.work.WorkRequest.Builder<?, ?>, W extends androidx.work.WorkRequest> {
+    method public final B addTag(String);
+    method public final W build();
+    method public final B keepResultsForAtLeast(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B keepResultsForAtLeast(java.time.Duration);
+    method public final B setBackoffCriteria(androidx.work.BackoffPolicy, long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public final B setBackoffCriteria(androidx.work.BackoffPolicy, java.time.Duration);
+    method public final B setConstraints(androidx.work.Constraints);
+    method public B setInitialDelay(long, java.util.concurrent.TimeUnit);
+    method @RequiresApi(26) public B setInitialDelay(java.time.Duration);
+    method public final B setInputData(androidx.work.Data);
+  }
+
+  public abstract class Worker extends androidx.work.ListenableWorker {
+    ctor @Keep public Worker(android.content.Context, androidx.work.WorkerParameters);
+    method @WorkerThread public abstract androidx.work.ListenableWorker.Result doWork();
+    method public final com.google.common.util.concurrent.ListenableFuture<androidx.work.ListenableWorker.Result!> startWork();
+  }
+
+  public abstract class WorkerFactory {
+    ctor public WorkerFactory();
+    method public abstract androidx.work.ListenableWorker? createWorker(android.content.Context, String, androidx.work.WorkerParameters);
+  }
+
+  public final class WorkerParameters {
+    method public java.util.UUID getId();
+    method public androidx.work.Data getInputData();
+    method @RequiresApi(28) public android.net.Network? getNetwork();
+    method @IntRange(from=0) public int getRunAttemptCount();
+    method public java.util.Set<java.lang.String!> getTags();
+    method @RequiresApi(24) public java.util.List<java.lang.String!> getTriggeredContentAuthorities();
+    method @RequiresApi(24) public java.util.List<android.net.Uri!> getTriggeredContentUris();
+  }
+
+}
+