Merge "Add microbenchmark test for `Icon`." into androidx-main
diff --git a/camera/camera-effects/build.gradle b/camera/camera-effects/build.gradle
index ae6d569..ea5a94c 100644
--- a/camera/camera-effects/build.gradle
+++ b/camera/camera-effects/build.gradle
@@ -27,6 +27,13 @@
 
     annotationProcessor(libs.autoValue)
 
+    testImplementation(libs.robolectric)
+    testImplementation(libs.testRunner)
+    testImplementation(libs.kotlinStdlib)
+    testImplementation(libs.truth)
+    testImplementation(libs.testRules)
+    testImplementation(libs.testCore)
+
     androidTestImplementation(libs.multidex)
     androidTestImplementation(libs.testExtJunit)
     androidTestImplementation(libs.testCore)
diff --git a/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrame.java b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrame.java
new file mode 100644
index 0000000..76a5726
--- /dev/null
+++ b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrame.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2023 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.effects.internal;
+
+import static androidx.core.util.Preconditions.checkState;
+
+import static java.util.Objects.requireNonNull;
+
+import android.view.Surface;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.camera.effects.opengl.GlRenderer;
+
+/**
+ * A GL texture for caching camera frames.
+ *
+ * <p>The frame can be empty or filled. A filled frame contains valid information on how to
+ * render it. An empty frame can be filled with new content.
+ */
+class TextureFrame {
+
+    private static final long NO_VALUE = Long.MIN_VALUE;
+
+    private final int mTextureId;
+
+    private long mTimestampNs = NO_VALUE;
+    @Nullable
+    private Surface mSurface;
+    @Nullable
+    private float[] mTransform;
+
+    /**
+     * Creates a frame that is backed by a texture ID.
+     */
+    TextureFrame(int textureId) {
+        mTextureId = textureId;
+    }
+
+    /**
+     * Checks if the frame is empty.
+     *
+     * <p>A empty frame means that the texture does not have valid content. It can be filled
+     * with new content.
+     */
+    boolean isEmpty() {
+        return mTimestampNs == NO_VALUE;
+    }
+
+    /**
+     * Marks the frame as empty.
+     *
+     * <p>Once the frame is marked as empty, it can be filled with new content.
+     */
+    void markEmpty() {
+        checkState(!isEmpty(), "Frame is already empty");
+        mTimestampNs = NO_VALUE;
+        mTransform = null;
+        mSurface = null;
+    }
+
+    /**
+     * Marks the frame as filled.
+     *
+     * <p>Call this method when a valid camera frame is copied to the texture with
+     * {@link GlRenderer#renderInputToQueueTexture}. Once filled, the frame should not be
+     * written into until it's made empty again.
+     *
+     * @param timestampNs the timestamp of the camera frame.
+     * @param transform   the transform to apply when rendering the frame.
+     * @param surface     the output surface to which the frame should render.
+     */
+    void markFilled(long timestampNs, float[] transform, Surface surface) {
+        checkState(isEmpty(), "Frame is already filled");
+        mTimestampNs = timestampNs;
+        mTransform = transform;
+        mSurface = surface;
+    }
+
+    /**
+     * Gets the timestamp of the frame.
+     *
+     * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface}.
+     */
+    long getTimestampNs() {
+        return mTimestampNs;
+    }
+
+    /**
+     * Gets the 2D texture id of the frame.
+     *
+     * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface} and
+     * {@link GlRenderer#renderInputToQueueTexture}.
+     */
+    int getTextureId() {
+        return mTextureId;
+    }
+
+    /**
+     * Gets the transform of the frame.
+     *
+     * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface}.
+     */
+    @NonNull
+    float[] getTransform() {
+        return requireNonNull(mTransform);
+    }
+
+    /**
+     * Gets the output surface to render.
+     *
+     * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface}. A frame should
+     * always be rendered to the same surface than the one it was originally filled with. If the
+     * Surface is no longer valid, the frame should be dropped.
+     */
+    @NonNull
+    Surface getSurface() {
+        return requireNonNull(mSurface);
+    }
+}
diff --git a/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrameBuffer.java b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrameBuffer.java
new file mode 100644
index 0000000..d68839d
--- /dev/null
+++ b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrameBuffer.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2023 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.effects.internal;
+
+import static java.util.Objects.requireNonNull;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.camera.effects.opengl.GlRenderer;
+
+/**
+ * A buffer of {@link TextureFrame}.
+ */
+class TextureFrameBuffer {
+
+    @NonNull
+    private final TextureFrame[] mFrames;
+
+    /**
+     * Creates a buffer of frames backed by texture IDs.
+     *
+     * @param textureIds @D textures allocated by {@link GlRenderer#createBufferTextureIds}.
+     */
+    TextureFrameBuffer(int[] textureIds) {
+        mFrames = new TextureFrame[textureIds.length];
+        for (int i = 0; i < textureIds.length; i++) {
+            mFrames[i] = new TextureFrame(textureIds[i]);
+        }
+    }
+
+    /**
+     * Gets the number of total frames in the buffer.
+     */
+    int getLength() {
+        return mFrames.length;
+    }
+
+    /**
+     * Gets a filled frame with the exact timestamp.
+     *
+     * <p>This is used when the caller wants to render a frame with a specific timestamp. It
+     * returns null if the frame no longer exists in the queue. e.g. it might be removed
+     * because the queue is full.
+     *
+     * <p>This method also empties frames that are older than the given timestamp. This is based
+     * on the assumption that the output frame are always rendered in order.
+     *
+     * <p>Once the returned frame is rendered, it should be marked empty by the caller.
+     */
+    @Nullable
+    TextureFrame getFrameToRender(long timestampNs) {
+        TextureFrame frameToReturn = null;
+        for (TextureFrame frame : mFrames) {
+            if (frame.isEmpty()) {
+                continue;
+            }
+            if (frame.getTimestampNs() == timestampNs) {
+                frameToReturn = frame;
+            } else if (frame.getTimestampNs() < timestampNs) {
+                frame.markEmpty();
+            }
+        }
+        return frameToReturn;
+    }
+
+    /**
+     * Gets the next empty frame, or the oldest frame if the buffer is full.
+     *
+     * <p>This is called when a new frame is available from the camera. The new frame will be
+     * filled to this position. If there is no empty frame, the oldest frame will be overwritten.
+     */
+    @NonNull
+    TextureFrame getFrameToFill() {
+        long minTimestampNs = Long.MAX_VALUE;
+        TextureFrame oldestFrame = null;
+        for (TextureFrame frame : mFrames) {
+            if (frame.isEmpty()) {
+                return frame;
+            } else if (frame.getTimestampNs() < minTimestampNs) {
+                minTimestampNs = frame.getTimestampNs();
+                oldestFrame = frame;
+            }
+        }
+        return requireNonNull(oldestFrame);
+    }
+}
diff --git a/camera/camera-effects/src/main/java/androidx/camera/effects/internal/package-info.java b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/package-info.java
new file mode 100644
index 0000000..e081ded
--- /dev/null
+++ b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+
+/**
+ * Internal code hidden from the public API.
+ */
+@RestrictTo(RestrictTo.Scope.LIBRARY)
+package androidx.camera.effects.internal;
+
+import androidx.annotation.RestrictTo;
diff --git a/camera/camera-effects/src/test/java/androidx/camera/effects/internal/FrameBufferTest.kt b/camera/camera-effects/src/test/java/androidx/camera/effects/internal/FrameBufferTest.kt
new file mode 100644
index 0000000..636c909
--- /dev/null
+++ b/camera/camera-effects/src/test/java/androidx/camera/effects/internal/FrameBufferTest.kt
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2023 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.effects.internal
+
+import android.graphics.SurfaceTexture
+import android.opengl.Matrix
+import android.os.Build
+import android.view.Surface
+import com.google.common.truth.Truth.assertThat
+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
+
+/**
+ * Unit tests for [TextureFrameBuffer].
+ */
+@RunWith(RobolectricTestRunner::class)
+@DoNotInstrument
+@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
+class FrameBufferTest {
+
+    companion object {
+        private const val TIMESTAMP_1 = 11L
+        private const val TIMESTAMP_2 = 22L
+    }
+
+    private lateinit var surfaceTexture1: SurfaceTexture
+    private lateinit var surface1: Surface
+    private val transform1 = FloatArray(16).apply {
+        Matrix.setIdentityM(this, 0)
+    }
+
+    private lateinit var surfaceTexture2: SurfaceTexture
+    private lateinit var surface2: Surface
+    private val transform2 = FloatArray(16).apply {
+        Matrix.setIdentityM(this, 0)
+        Matrix.rotateM(this, 0, 90f, 0f, 0f, 1f)
+    }
+
+    @Before
+    fun setUp() {
+        surfaceTexture1 = SurfaceTexture(1)
+        surface1 = Surface(surfaceTexture1)
+        surfaceTexture2 = SurfaceTexture(2)
+        surface2 = Surface(surfaceTexture2)
+    }
+
+    @After
+    fun tearDown() {
+        surface1.release()
+        surfaceTexture1.release()
+        surface2.release()
+        surfaceTexture2.release()
+    }
+
+    @Test
+    fun getLength_returnsCorrectLength() {
+        // Arrange: create 3 textures.
+        val textures = intArrayOf(1, 2, 3)
+        // Act: create the buffer.
+        val buffer = TextureFrameBuffer(textures)
+        // Assert: the length is 3.
+        assertThat(buffer.length).isEqualTo(3)
+    }
+
+    @Test
+    fun getFrameToRender_returnsNullIfNotFound() {
+        // Arrange: create a buffer with 1 texture and mark them occupied.
+        val buffer = TextureFrameBuffer(intArrayOf(1))
+        buffer.frameToFill.markFilled(TIMESTAMP_1, transform1, surface1)
+        // Act and assert: get frame with a different timestamp and it should be null.
+        assertThat(buffer.getFrameToRender(TIMESTAMP_2)).isNull()
+    }
+
+    @Test
+    fun getFrameToRender_markOlderFramesVacant() {
+        // Arrange: create a buffer with two textures and mark them occupied.
+        val buffer = TextureFrameBuffer(intArrayOf(1, 2))
+        val frames = fillBufferWithTwoFrames(buffer)
+
+        // Act: get frame2 for rendering.
+        assertThat(buffer.getFrameToRender(TIMESTAMP_2)).isSameInstanceAs(frames.second)
+
+        // Assert: frame1 is vacant now.
+        assertThat(frames.second.isEmpty).isFalse()
+        assertThat(frames.first.isEmpty).isTrue()
+    }
+
+    @Test
+    fun getFrameToFill_returnsOldestFrameWhenFull() {
+        // Arrange: create a full buffer.
+        val buffer = TextureFrameBuffer(intArrayOf(1, 2))
+        val frames = fillBufferWithTwoFrames(buffer)
+        // Act and assert: get frame to fill and it should be the first frame.
+        assertThat(buffer.frameToFill).isSameInstanceAs(frames.first)
+    }
+
+    @Test
+    fun getFrameToFill_returnsEmptyFrameWhenNotFull() {
+        // Arrange: create a full buffer.
+        val buffer = TextureFrameBuffer(intArrayOf(1, 2))
+        val frames = fillBufferWithTwoFrames(buffer)
+        // Mark the second frame empty.
+        frames.second.markEmpty()
+        // Act and assert: get frame to fill and it should be the second frame.
+        assertThat(buffer.frameToFill).isSameInstanceAs(frames.second)
+    }
+
+    private fun fillBufferWithTwoFrames(
+        buffer: TextureFrameBuffer
+    ): Pair<TextureFrame, TextureFrame> {
+        assertThat(buffer.length).isEqualTo(2)
+        // Fill frame 1.
+        val frame1 = buffer.frameToFill
+        assertThat(frame1.textureId).isEqualTo(1)
+        frame1.markFilled(TIMESTAMP_1, transform1, surface1)
+        // Fill frame 2.
+        val frame2 = buffer.frameToFill
+        assertThat(frame2.textureId).isEqualTo(2)
+        frame2.markFilled(TIMESTAMP_2, transform2, surface2)
+        return Pair(frame1, frame2)
+    }
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt
index e2bbcbd..cf03291 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt
@@ -43,9 +43,9 @@
 import androidx.compose.material.Text
 import androidx.compose.material.TextField
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
 import androidx.compose.material.icons.filled.AccountCircle
 import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.ArrowBack
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
@@ -210,7 +210,7 @@
             } else {
                 Column(Modifier.fillMaxSize()) {
                     Icon(
-                        rememberVectorPainter(image = Icons.Default.ArrowBack),
+                        rememberVectorPainter(image = Icons.AutoMirrored.Filled.ArrowBack),
                         null,
                         modifier = Modifier
                             .clickable {
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt
index 86f48ef..b0e17b7 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt
@@ -41,14 +41,14 @@
 import androidx.compose.material.Surface
 import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.Send
+import androidx.compose.material.icons.automirrored.outlined.List
 import androidx.compose.material.icons.filled.Delete
 import androidx.compose.material.icons.filled.Menu
 import androidx.compose.material.icons.filled.Notifications
 import androidx.compose.material.icons.filled.Search
-import androidx.compose.material.icons.filled.Send
 import androidx.compose.material.icons.outlined.Create
 import androidx.compose.material.icons.outlined.Email
-import androidx.compose.material.icons.outlined.List
 import androidx.compose.material.icons.outlined.Menu
 import androidx.compose.material.icons.outlined.Star
 import androidx.compose.runtime.Composable
@@ -419,8 +419,8 @@
         }
         Spacer(modifier = Modifier.size(20.dp))
         Item(state, Icons.Outlined.Email, "Inbox", Color(0xffe8def8))
-        Item(state, Icons.Outlined.List, "Articles")
-        Item(state, Icons.Default.Send, "Direct Messages")
+        Item(state, Icons.AutoMirrored.Outlined.List, "Articles")
+        Item(state, Icons.AutoMirrored.Default.Send, "Direct Messages")
         Item(state, Icons.Filled.Notifications, "Video Chat")
     }
 }
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt
index 134949f..81858c2 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt
@@ -40,8 +40,8 @@
 import androidx.compose.material.Icon
 import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.ArrowForward
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowForward
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
@@ -123,13 +123,13 @@
                 horizontalArrangement = Arrangement.SpaceBetween
             ) {
                 Icon(
-                    Icons.Default.ArrowBack, contentDescription = null,
+                    Icons.AutoMirrored.Default.ArrowBack, contentDescription = null,
                     Modifier.clickable {
                         contentState = PaneState.values()[max(0, contentState.ordinal - 1)]
                     }.padding(top = 300.dp, bottom = 300.dp, end = 60.dp)
                 )
                 Icon(
-                    Icons.Default.ArrowForward, contentDescription = null,
+                    Icons.AutoMirrored.Default.ArrowForward, contentDescription = null,
                     Modifier.clickable {
                         contentState = PaneState.values()[min(2, contentState.ordinal + 1)]
                     }.padding(top = 300.dp, bottom = 300.dp, start = 60.dp)
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
index 01395db..ec299d1 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
@@ -39,8 +39,8 @@
 import androidx.compose.material.Text
 import androidx.compose.material.TextField
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowLeft
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.collection.mutableVectorOf
 import androidx.compose.runtime.getValue
@@ -105,14 +105,14 @@
                     .coerceIn(0, textFieldState.buffer.length)
                 textFieldState.selection = TextRange(newCursor)
             }) {
-                Image(Icons.Default.KeyboardArrowLeft, contentDescription = "left")
+                Image(Icons.AutoMirrored.Filled.KeyboardArrowLeft, contentDescription = "backward")
             }
             IconButton(onClick = {
                 val newCursor = (textFieldState.selection.end + 1)
                     .coerceIn(0, textFieldState.buffer.length)
                 textFieldState.selection = TextRange(newCursor)
             }) {
-                Image(Icons.Default.KeyboardArrowRight, contentDescription = "right")
+                Image(Icons.AutoMirrored.Filled.KeyboardArrowRight, contentDescription = "forward")
             }
         }
     }
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
index 84494d8..7dbf951 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
@@ -39,8 +39,7 @@
 import androidx.compose.integration.demos.common.allLaunchableDemos
 import androidx.compose.material.LocalContentColor
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.ArrowForward
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
 import androidx.compose.material.icons.filled.Search
 import androidx.compose.material.icons.filled.Settings
 import androidx.compose.material3.ExperimentalMaterial3Api
@@ -63,9 +62,7 @@
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.input.nestedscroll.nestedScroll
-import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.platform.testTag
-import androidx.compose.ui.unit.LayoutDirection
 import androidx.compose.ui.unit.dp
 import androidx.compose.ui.viewinterop.AndroidView
 import androidx.fragment.app.FragmentActivity
@@ -259,12 +256,8 @@
 private object AppBarIcons {
     @Composable
     fun Back(onClick: () -> Unit) {
-        val icon = when (LocalLayoutDirection.current) {
-            LayoutDirection.Ltr -> Icons.Filled.ArrowBack
-            LayoutDirection.Rtl -> Icons.Filled.ArrowForward
-        }
         IconButton(onClick = onClick) {
-            Icon(icon, null)
+            Icon(Icons.AutoMirrored.Filled.ArrowBack, null)
         }
     }
 
diff --git a/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt b/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt
index f57c613..9588385 100644
--- a/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt
+++ b/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt
@@ -23,7 +23,7 @@
 import androidx.compose.foundation.layout.padding
 import androidx.compose.material.catalog.model.Specification
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.Icon
 import androidx.compose.material3.MaterialTheme
@@ -63,7 +63,7 @@
                 )
             }
             Icon(
-                imageVector = Icons.Default.KeyboardArrowRight,
+                imageVector = Icons.AutoMirrored.Default.KeyboardArrowRight,
                 contentDescription = null,
                 modifier = Modifier.align(Alignment.CenterVertically)
             )
diff --git a/compose/material/material-icons-core/api/current.txt b/compose/material/material-icons-core/api/current.txt
index b95d770..e9e6d3b 100644
--- a/compose/material/material-icons-core/api/current.txt
+++ b/compose/material/material-icons-core/api/current.txt
@@ -7,6 +7,32 @@
     field public static final androidx.compose.material.icons.Icons INSTANCE;
   }
 
+  public static final class Icons.AutoMirrored {
+    method public androidx.compose.material.icons.Icons.AutoMirrored.Filled getDefault();
+    property public final androidx.compose.material.icons.Icons.AutoMirrored.Filled Default;
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Filled {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Filled INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Outlined {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Outlined INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Rounded {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Rounded INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Sharp {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Sharp INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.TwoTone {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.TwoTone INSTANCE;
+  }
+
   public static final class Icons.Filled {
     field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
   }
@@ -28,12 +54,173 @@
   }
 
   public final class IconsKt {
+    method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, boolean autoMirror, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
     method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
     method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
   }
 
 }
 
+package androidx.compose.material.icons.automirrored.filled {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.outlined {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.rounded {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.sharp {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.twotone {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+}
+
 package androidx.compose.material.icons.filled {
 
   public final class AccountBoxKt {
@@ -53,7 +240,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class ArrowDropDownKt {
@@ -61,7 +248,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class BuildKt {
@@ -113,7 +300,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class FaceKt {
@@ -141,11 +328,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class KeyboardArrowUpKt {
@@ -153,7 +340,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class LocationOnKt {
@@ -205,7 +392,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class SettingsKt {
@@ -253,7 +440,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class ArrowDropDownKt {
@@ -261,7 +448,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class BuildKt {
@@ -313,7 +500,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class FaceKt {
@@ -341,11 +528,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class KeyboardArrowUpKt {
@@ -353,7 +540,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class LocationOnKt {
@@ -405,7 +592,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class SettingsKt {
@@ -453,7 +640,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class ArrowDropDownKt {
@@ -461,7 +648,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class BuildKt {
@@ -513,7 +700,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class FaceKt {
@@ -541,11 +728,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class KeyboardArrowUpKt {
@@ -553,7 +740,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class LocationOnKt {
@@ -605,7 +792,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class SettingsKt {
@@ -653,7 +840,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class ArrowDropDownKt {
@@ -661,7 +848,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class BuildKt {
@@ -713,7 +900,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class FaceKt {
@@ -741,11 +928,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class KeyboardArrowUpKt {
@@ -753,7 +940,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class LocationOnKt {
@@ -805,7 +992,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class SettingsKt {
@@ -853,7 +1040,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class ArrowDropDownKt {
@@ -861,7 +1048,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class BuildKt {
@@ -913,7 +1100,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class FaceKt {
@@ -941,11 +1128,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class KeyboardArrowUpKt {
@@ -953,7 +1140,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class LocationOnKt {
@@ -1005,7 +1192,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class SettingsKt {
diff --git a/compose/material/material-icons-core/api/restricted_current.txt b/compose/material/material-icons-core/api/restricted_current.txt
index 619d449..d5e5415 100644
--- a/compose/material/material-icons-core/api/restricted_current.txt
+++ b/compose/material/material-icons-core/api/restricted_current.txt
@@ -7,6 +7,32 @@
     field public static final androidx.compose.material.icons.Icons INSTANCE;
   }
 
+  public static final class Icons.AutoMirrored {
+    method public androidx.compose.material.icons.Icons.AutoMirrored.Filled getDefault();
+    property public final androidx.compose.material.icons.Icons.AutoMirrored.Filled Default;
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Filled {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Filled INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Outlined {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Outlined INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Rounded {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Rounded INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.Sharp {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.Sharp INSTANCE;
+  }
+
+  public static final class Icons.AutoMirrored.TwoTone {
+    field public static final androidx.compose.material.icons.Icons.AutoMirrored.TwoTone INSTANCE;
+  }
+
   public static final class Icons.Filled {
     field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
   }
@@ -28,6 +54,7 @@
   }
 
   public final class IconsKt {
+    method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, boolean autoMirror, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
     method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
     method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
     field @kotlin.PublishedApi internal static final float MaterialIconDimension = 24.0f;
@@ -35,6 +62,166 @@
 
 }
 
+package androidx.compose.material.icons.automirrored.filled {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.outlined {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.rounded {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.sharp {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+  }
+
+}
+
+package androidx.compose.material.icons.automirrored.twotone {
+
+  public final class ArrowBackKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class ArrowForwardKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class ExitToAppKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class KeyboardArrowLeftKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class KeyboardArrowRightKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class ListKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+  public final class SendKt {
+    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+  }
+
+}
+
 package androidx.compose.material.icons.filled {
 
   public final class AccountBoxKt {
@@ -54,7 +241,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class ArrowDropDownKt {
@@ -62,7 +249,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class BuildKt {
@@ -114,7 +301,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class FaceKt {
@@ -142,11 +329,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class KeyboardArrowUpKt {
@@ -154,7 +341,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class LocationOnKt {
@@ -206,7 +393,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
   }
 
   public final class SettingsKt {
@@ -254,7 +441,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class ArrowDropDownKt {
@@ -262,7 +449,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class BuildKt {
@@ -314,7 +501,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class FaceKt {
@@ -342,11 +529,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class KeyboardArrowUpKt {
@@ -354,7 +541,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class LocationOnKt {
@@ -406,7 +593,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
   }
 
   public final class SettingsKt {
@@ -454,7 +641,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class ArrowDropDownKt {
@@ -462,7 +649,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class BuildKt {
@@ -514,7 +701,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class FaceKt {
@@ -542,11 +729,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class KeyboardArrowUpKt {
@@ -554,7 +741,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class LocationOnKt {
@@ -606,7 +793,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
   }
 
   public final class SettingsKt {
@@ -654,7 +841,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class ArrowDropDownKt {
@@ -662,7 +849,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class BuildKt {
@@ -714,7 +901,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class FaceKt {
@@ -742,11 +929,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class KeyboardArrowUpKt {
@@ -754,7 +941,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class LocationOnKt {
@@ -806,7 +993,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
   }
 
   public final class SettingsKt {
@@ -854,7 +1041,7 @@
   }
 
   public final class ArrowBackKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class ArrowDropDownKt {
@@ -862,7 +1049,7 @@
   }
 
   public final class ArrowForwardKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class BuildKt {
@@ -914,7 +1101,7 @@
   }
 
   public final class ExitToAppKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class FaceKt {
@@ -942,11 +1129,11 @@
   }
 
   public final class KeyboardArrowLeftKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class KeyboardArrowRightKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class KeyboardArrowUpKt {
@@ -954,7 +1141,7 @@
   }
 
   public final class ListKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class LocationOnKt {
@@ -1006,7 +1193,7 @@
   }
 
   public final class SendKt {
-    method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+    method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
   }
 
   public final class SettingsKt {
diff --git a/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt b/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt
index 36b37ac..7793cc0 100644
--- a/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt
+++ b/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt
@@ -20,6 +20,7 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.material.Icon
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.outlined.ArrowForward
 import androidx.compose.material.icons.rounded.Menu
 import androidx.compose.runtime.Composable
 import androidx.compose.ui.Modifier
@@ -41,6 +42,13 @@
     Icon(Icons.Rounded.Menu, contentDescription = "Localized description")
 }
 
+@Sampled
+@Composable
+fun AutoMirroredIcon() {
+    // This icon will be mirrored when the LayoutDirection is Rtl.
+    Icon(Icons.AutoMirrored.Outlined.ArrowForward, contentDescription = "Localized description")
+}
+
 @Composable
 private fun SomeComposable(icon: ImageVector) {
     Box(Modifier.paint(rememberVectorPainter(icon)))
diff --git a/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt b/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
index 813f3ad..3573a8d 100644
--- a/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
+++ b/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
@@ -98,6 +98,87 @@
     object Sharp
 
     /**
+     * <a href="https://material.io/design/iconography/system-icons.html" class="external" target="_blank">Material Design system icons</a>
+     * as seen on
+     * <a href="https://fonts.google.com/icons" class="external" target="_blank">Google Fonts</a>.
+     *
+     * ![Iconography image](https://developer.android.com/images/reference/androidx/compose/material/icons/iconography.png)
+     *
+     * Languages such as Arabic and Hebrew are read from right-to-left (RTL). For RTL languages,
+     * some of the icons should be mirrored when their direction matches other UI elements in RTL
+     * mode.
+     * The [AutoMirrored] icons are a subset of [Icons] that will automatically mirror themselves
+     * when displayed in an RTL layout.
+     *
+     * See also
+     * <a href="https://developers.google.com/fonts/docs/material_icons#which_icons_should_be_mirrored_for_rtl" class="external" target="_blank">Icons in RTL</a>.
+     *
+     * There are five distinct icon themes: [AutoMirrored.Filled], [AutoMirrored.Outlined],
+     * [AutoMirrored.Rounded], [AutoMirrored.TwoTone], and [AutoMirrored.Sharp].
+     * Each theme contains the same icons, but with a distinct visual style. You should typically
+     * choose one theme and use it across your application for consistency. For example, you may
+     * want to use a property or a typealias to refer to a specific theme, so it can be accessed in
+     * a semantically meaningful way from inside other composables.
+     *
+     * Icons maintain the same names defined by Material, but with their snake_case name converted
+     * to PascalCase. For example: add_alarm becomes AddAlarm.
+     *
+     * Note: Icons that start with a number, such as `360`, are prefixed with a '_', becoming
+     * '_360'.
+     *
+     * To draw an icon, you can use an [androidx.compose.material.Icon]. This component applies tint
+     * and provides layout size matching the icon.
+     *
+     * @sample androidx.compose.material.icons.samples.AutoMirroredIcon
+     *
+     * Note that only the most commonly used icons are provided by default. You can add a dependency
+     * on androidx.compose.material:material-icons-extended to access every icon, but note that due
+     * to the very large size of this dependency you should make sure to use R8 / ProGuard to remove
+     * unused icons from your application.
+     */
+    object AutoMirrored {
+        /**
+         * [Filled icons](https://material.io/resources/icons/?style=baseline)are the default icon
+         * theme. You can also use [Default] as an alias for these icons.
+         */
+        object Filled
+
+        /**
+         * [Outlined icons](https://material.io/resources/icons/?style=outline) make use of a thin
+         * stroke and empty space inside for a lighter appearance.
+         */
+        object Outlined
+
+        /**
+         * [Rounded icons](https://material.io/resources/icons/?style=round) use a corner radius
+         * that pairs well with brands that use heavier typography, curved logos, or circular
+         * elements to express their style.
+         */
+        object Rounded
+
+        /**
+         * [Two-Tone icons](https://material.io/resources/icons/?style=twotone) display corners with
+         * straight edges, for a crisp style that remains legible even at smaller scales. These
+         * rectangular shapes can support brand styles that are not well-reflected by rounded
+         * shapes.
+         */
+        object TwoTone
+
+        /**
+         * [Sharp icons](https://material.io/resources/icons/?style=sharp) display corners with
+         * straight edges, for a crisp style that remains legible even at smaller scales. These
+         * rectangular shapes can support brand styles that are not well-reflected by rounded
+         * shapes.
+         */
+        object Sharp
+
+        /**
+         * Alias for [AutoMirrored.Filled], the baseline icon theme.
+         */
+        val Default = Filled
+    }
+
+    /**
      * Alias for [Filled], the baseline icon theme.
      */
     val Default = Filled
@@ -113,12 +194,28 @@
 inline fun materialIcon(
     name: String,
     block: ImageVector.Builder.() -> ImageVector.Builder
+): ImageVector = materialIcon(name = name, autoMirror = false, block = block)
+
+/**
+ * Utility delegate to construct a Material icon with default size information.
+ * This is used by generated icons, and should not be used manually.
+ *
+ * @param name the full name of the generated icon
+ * @param autoMirror determines if the vector asset should automatically be mirrored for right to
+ * left locales
+ * @param block builder lambda to add paths to this vector asset
+ */
+inline fun materialIcon(
+    name: String,
+    autoMirror: Boolean,
+    block: ImageVector.Builder.() -> ImageVector.Builder
 ): ImageVector = ImageVector.Builder(
     name = name,
     defaultWidth = MaterialIconDimension.dp,
     defaultHeight = MaterialIconDimension.dp,
     viewportWidth = MaterialIconDimension,
-    viewportHeight = MaterialIconDimension
+    viewportHeight = MaterialIconDimension,
+    autoMirror = autoMirror
 ).block().build()
 
 /**
@@ -135,8 +232,8 @@
     pathFillType: PathFillType = DefaultFillType,
     pathBuilder: PathBuilder.() -> Unit
 ) =
-    // TODO: b/146213225
-    // Some of these defaults are already set when parsing from XML, but do not currently exist
+// TODO: b/146213225
+// Some of these defaults are already set when parsing from XML, but do not currently exist
     // when added programmatically. We should unify these and simplify them where possible.
     path(
         fill = SolidColor(Color.Black),
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
index 0f4eae7d..f97de49 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
@@ -25,6 +25,7 @@
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.size
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.Alignment
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.draw.paint
@@ -37,11 +38,13 @@
 import androidx.compose.ui.graphics.vector.rememberVectorPainter
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.platform.testTag
 import androidx.compose.ui.res.vectorResource
 import androidx.compose.ui.test.captureToImage
 import androidx.compose.ui.test.junit4.createAndroidComposeRule
 import androidx.compose.ui.test.onNodeWithTag
+import androidx.compose.ui.unit.LayoutDirection
 import androidx.test.filters.SdkSuppress
 import androidx.test.screenshot.matchers.MSSIMMatcher
 import com.google.common.truth.Truth
@@ -50,7 +53,9 @@
 import org.junit.Rule
 
 const val ProgrammaticTestTag = "programmatic"
+const val ProgrammaticRtlTestTag = "programmatic_rtl"
 const val XmlTestTag = "Xml"
+const val XmlRtlTestTag = "Xml_rtl"
 
 /**
  * Base class for Material [androidx.compose.material.icons.Icons] tests.
@@ -82,7 +87,17 @@
             // The XML inflated ImageVector doesn't have a name, and we set a name in the
             // programmatic ImageVector. This doesn't affect how the ImageVector is drawn, so we
             // make sure the names match so the comparison does not fail.
-            xmlVector = xmlVector!!.copy(name = programmaticVector.name)
+            // Also, match the autoMirror value of the XML vector to that of the programmatic
+            // ImageVector. The set of icons that are passed into the test includes deprecated icons
+            // that were generated from the same set of XML vectors used to create the auto-mirrored
+            // icons. These XMLs have an `autoMirrored` attribute where applicable, so with this
+            // copy we specifically ensure that the XML flag is turned off when compared to
+            // deprecated icons that were generated while ignoring the flag for backward
+            // compatibility.
+            xmlVector = xmlVector!!.copy(
+                name = programmaticVector.name,
+                autoMirror = programmaticVector.autoMirror
+            )
 
             assertImageVectorsAreEqual(xmlVector!!, programmaticVector, iconName)
 
@@ -92,6 +107,14 @@
                 iconName
             )
 
+            if (programmaticVector.autoMirror) {
+                matcher.assertBitmapsAreEqual(
+                    rule.onNodeWithTag(XmlRtlTestTag).captureToImage().asAndroidBitmap(),
+                    rule.onNodeWithTag(ProgrammaticRtlTestTag).captureToImage().asAndroidBitmap(),
+                    iconName
+                )
+            }
+
             // Dispose between composing each pair of icons to ensure correctness
             rule.activityRule.scenario.onActivity {
                 it.setContentView(View(it))
@@ -104,9 +127,16 @@
  * Helper method to copy the existing [ImageVector] modifying the name
  * for use in equality checks.
  */
-private fun ImageVector.copy(name: String): ImageVector {
+private fun ImageVector.copy(name: String, autoMirror: Boolean): ImageVector {
     val builder = ImageVector.Builder(
-        name, defaultWidth, defaultHeight, viewportWidth, viewportHeight, tintColor, tintBlendMode
+        name,
+        defaultWidth,
+        defaultHeight,
+        viewportWidth,
+        viewportHeight,
+        tintColor,
+        tintBlendMode,
+        autoMirror
     )
     val root = this.root
     // Stack of vector groups and current child index being traversed
@@ -265,6 +295,27 @@
                     )
                     .testTag(XmlTestTag)
             )
+            if (programmaticVector.autoMirror) {
+                // Compose in RTL.
+                CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) {
+                    Box(
+                        modifier = layoutSize
+                            .paint(
+                                rememberVectorPainter(programmaticVector),
+                                colorFilter = ColorFilter.tint(Color.Red)
+                            )
+                            .testTag(ProgrammaticRtlTestTag)
+                    )
+                    Box(
+                        modifier = layoutSize
+                            .paint(
+                                rememberVectorPainter(xmlVector),
+                                colorFilter = ColorFilter.tint(Color.Red)
+                            )
+                            .testTag(XmlRtlTestTag)
+                    )
+                }
+            }
         }
     }
 }
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreAutoMirroredIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreAutoMirroredIconComparisonTest.kt
new file mode 100644
index 0000000..5ccf3bf
--- /dev/null
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreAutoMirroredIconComparisonTest.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2023 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.material.icons
+
+import android.os.Build
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.test.filters.LargeTest
+import androidx.test.filters.SdkSuppress
+import kotlin.reflect.KProperty0
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+
+/**
+ * Test to ensure equality (both structurally, and visually) between programmatically generated core
+ * Material [androidx.compose.material.icons.Icons.AutoMirrored] and their XML source.
+ */
+@Suppress("unused")
+@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+@LargeTest
+@RunWith(Parameterized::class)
+class CoreAutoMirroredIconComparisonTest(
+    private val iconSublist: List<Pair<KProperty0<ImageVector>, String>>,
+    private val debugParameterName: String
+) : BaseIconComparisonTest() {
+
+    companion object {
+
+        @JvmStatic
+        @Parameterized.Parameters(name = "{1}")
+        fun initIconSublist(): Array<Array<Any>> {
+            return arrayOf(arrayOf(AllCoreAutoMirroredIcons, "1 of 1"))
+        }
+    }
+
+    @Test
+    fun compareImageVectors() {
+        compareImageVectors(iconSublist)
+    }
+}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt
index a123d23..4e4c5c86 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt
@@ -58,7 +58,7 @@
             val listSize = ceil(AllCoreIcons.size / numberOfChunks.toFloat()).roundToInt()
             val subLists = AllCoreIcons.chunked(listSize)
             return subLists.mapIndexed { index, list ->
-                arrayOf(list, "${index + 1}of$numberOfChunks")
+                arrayOf(list, "${index + 1} of $numberOfChunks")
             }.toTypedArray()
         }
     }
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedAutoMirroredIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedAutoMirroredIconComparisonTest.kt
new file mode 100644
index 0000000..38d07e5
--- /dev/null
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedAutoMirroredIconComparisonTest.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2023 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.material.icons
+
+import android.os.Build
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.test.filters.LargeTest
+import androidx.test.filters.SdkSuppress
+import kotlin.math.ceil
+import kotlin.math.roundToInt
+import kotlin.reflect.KProperty0
+import org.junit.Ignore
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+
+/**
+ * Test to ensure equality (both structurally, and visually) between programmatically generated
+ * extended Material [androidx.compose.material.icons.Icons.AutoMirrored] and their XML source.
+ */
+@Suppress("unused")
+@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+@LargeTest
+@RunWith(Parameterized::class)
+class ExtendedAutoMirroredIconComparisonTest(
+    private val iconSublist: List<Pair<KProperty0<ImageVector>, String>>,
+    private val debugParameterName: String
+) : BaseIconComparisonTest() {
+
+    companion object {
+        /**
+         * Arbitrarily split [AllExtendedAutoMirroredIcons] into equal parts. This is needed as one
+         * test with the whole of [AllExtendedAutoMirroredIcons] will exceed the timeout allowed for
+         * a test in CI, so we split it up to stay under the limit.
+         *
+         * Additionally, we run large batches of comparisons per method, instead of one icon per
+         * method, so that we can re-use the same Activity instance between test runs. Most of the
+         * cost of a simple test like this is in Activity instantiation so re-using the same
+         * activity reduces time to run this test ~tenfold.
+         */
+        @JvmStatic
+        @Parameterized.Parameters(name = "{1}")
+        fun initIconSublist(): Array<Array<Any>> {
+            val numberOfChunks = 4
+            val listSize =
+                ceil(AllExtendedAutoMirroredIcons.size / numberOfChunks.toFloat()).roundToInt()
+            val subLists = AllExtendedAutoMirroredIcons.chunked(listSize)
+            return subLists.mapIndexed { index, list ->
+                arrayOf(list, "${index + 1} of $numberOfChunks")
+            }.toTypedArray()
+        }
+    }
+
+    @Ignore(
+        "For performance reasons, and to be able to disable the extended icons tests on " +
+            "AOSP. Make sure to execute locally after updating the extended Material icons."
+    )
+    @Test
+    fun compareImageVectors() {
+        compareImageVectors(iconSublist)
+    }
+}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt
index 22e4f3b..c7dff96 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt
@@ -59,13 +59,15 @@
             val listSize = ceil(AllExtendedIcons.size / numberOfChunks.toFloat()).roundToInt()
             val subLists = AllExtendedIcons.chunked(listSize)
             return subLists.mapIndexed { index, list ->
-                arrayOf(list, "${index + 1}of$numberOfChunks")
+                arrayOf(list, "${index + 1} of $numberOfChunks")
             }.toTypedArray()
         }
     }
 
-    @Ignore("For performance reasons, and to be able to disable the extended icons tests on " +
-        "AOSP. Make sure to execute locally after updating the extended Material icons.")
+    @Ignore(
+        "For performance reasons, and to be able to disable the extended icons tests on " +
+            "AOSP. Make sure to execute locally after updating the extended Material icons."
+    )
     @Test
     fun compareImageVectors() {
         compareImageVectors(iconSublist)
diff --git a/compose/material/material/icons/generator/api/automirrored_icons.txt b/compose/material/material/icons/generator/api/automirrored_icons.txt
new file mode 100644
index 0000000..5b90c3f
--- /dev/null
+++ b/compose/material/material/icons/generator/api/automirrored_icons.txt
@@ -0,0 +1,725 @@
+Filled.Accessible
+Filled.AccessibleForward
+Filled.AddToHomeScreen
+Filled.AirplaneTicket
+Filled.AlignHorizontalLeft
+Filled.AlignHorizontalRight
+Filled.AltRoute
+Filled.Announcement
+Filled.ArrowBack
+Filled.ArrowBackIos
+Filled.ArrowForward
+Filled.ArrowForwardIos
+Filled.ArrowLeft
+Filled.ArrowRight
+Filled.ArrowRightAlt
+Filled.Article
+Filled.Assignment
+Filled.AssignmentReturn
+Filled.AssistantDirection
+Filled.Backspace
+Filled.BatteryUnknown
+Filled.BluetoothSearching
+Filled.BrandingWatermark
+Filled.CallMade
+Filled.CallMerge
+Filled.CallMissed
+Filled.CallMissedOutgoing
+Filled.CallReceived
+Filled.CallSplit
+Filled.Chat
+Filled.ChromeReaderMode
+Filled.Comment
+Filled.CompareArrows
+Filled.ContactSupport
+Filled.DirectionsBike
+Filled.DirectionsRun
+Filled.DirectionsWalk
+Filled.DriveFileMove
+Filled.Dvr
+Filled.EventNote
+Filled.ExitToApp
+Filled.FactCheck
+Filled.FeaturedPlayList
+Filled.FeaturedVideo
+Filled.Feed
+Filled.FollowTheSigns
+Filled.FormatAlignLeft
+Filled.FormatAlignRight
+Filled.FormatIndentDecrease
+Filled.FormatIndentIncrease
+Filled.FormatListBulleted
+Filled.FormatTextdirectionLToR
+Filled.FormatTextdirectionRToL
+Filled.Forward
+Filled.ForwardToInbox
+Filled.Grading
+Filled.Help
+Filled.HelpCenter
+Filled.HelpOutline
+Filled.Input
+Filled.InsertComment
+Filled.InsertDriveFile
+Filled.KeyboardArrowLeft
+Filled.KeyboardArrowRight
+Filled.KeyboardBackspace
+Filled.KeyboardReturn
+Filled.KeyboardTab
+Filled.Label
+Filled.LabelImportant
+Filled.LabelOff
+Filled.LastPage
+Filled.Launch
+Filled.LibraryBooks
+Filled.List
+Filled.ListAlt
+Filled.LiveHelp
+Filled.Login
+Filled.Logout
+Filled.ManageSearch
+Filled.MenuBook
+Filled.MenuOpen
+Filled.MergeType
+Filled.Message
+Filled.MissedVideoCall
+Filled.MobileScreenShare
+Filled.More
+Filled.MultilineChart
+Filled.NavigateBefore
+Filled.NavigateNext
+Filled.NextPlan
+Filled.NextWeek
+Filled.NotListedLocation
+Filled.Note
+Filled.NoteAdd
+Filled.Notes
+Filled.OfflineShare
+Filled.OpenInNew
+Filled.Outbound
+Filled.PhoneCallback
+Filled.PhoneForwarded
+Filled.PhoneMissed
+Filled.PlaylistAdd
+Filled.PlaylistAddCheck
+Filled.PlaylistPlay
+Filled.QueueMusic
+Filled.ReadMore
+Filled.ReceiptLong
+Filled.Redo
+Filled.Reply
+Filled.ReplyAll
+Filled.RotateLeft
+Filled.RotateRight
+Filled.Rtt
+Filled.Rule
+Filled.ScheduleSend
+Filled.ScreenShare
+Filled.Segment
+Filled.Send
+Filled.SendAndArchive
+Filled.SendToMobile
+Filled.ShortText
+Filled.Shortcut
+Filled.ShowChart
+Filled.Sort
+Filled.SpeakerNotes
+Filled.StarHalf
+Filled.StickyNote2
+Filled.StopScreenShare
+Filled.Subject
+Filled.TextSnippet
+Filled.Toc
+Filled.TrendingDown
+Filled.TrendingFlat
+Filled.TrendingUp
+Filled.Undo
+Filled.ViewList
+Filled.ViewQuilt
+Filled.ViewSidebar
+Filled.VolumeDown
+Filled.VolumeMute
+Filled.VolumeOff
+Filled.VolumeUp
+Filled.WrapText
+Filled.Wysiwyg
+Filled._360
+Outlined.Accessible
+Outlined.AccessibleForward
+Outlined.AddToHomeScreen
+Outlined.AirplaneTicket
+Outlined.AlignHorizontalLeft
+Outlined.AlignHorizontalRight
+Outlined.AltRoute
+Outlined.Announcement
+Outlined.ArrowBack
+Outlined.ArrowBackIos
+Outlined.ArrowForward
+Outlined.ArrowForwardIos
+Outlined.ArrowLeft
+Outlined.ArrowRight
+Outlined.ArrowRightAlt
+Outlined.Article
+Outlined.Assignment
+Outlined.AssignmentReturn
+Outlined.AssistantDirection
+Outlined.Backspace
+Outlined.BatteryUnknown
+Outlined.BluetoothSearching
+Outlined.BrandingWatermark
+Outlined.CallMade
+Outlined.CallMerge
+Outlined.CallMissed
+Outlined.CallMissedOutgoing
+Outlined.CallReceived
+Outlined.CallSplit
+Outlined.Chat
+Outlined.ChromeReaderMode
+Outlined.Comment
+Outlined.CompareArrows
+Outlined.ContactSupport
+Outlined.DirectionsBike
+Outlined.DirectionsRun
+Outlined.DirectionsWalk
+Outlined.DriveFileMove
+Outlined.Dvr
+Outlined.EventNote
+Outlined.ExitToApp
+Outlined.FactCheck
+Outlined.FeaturedPlayList
+Outlined.FeaturedVideo
+Outlined.Feed
+Outlined.FollowTheSigns
+Outlined.FormatAlignLeft
+Outlined.FormatAlignRight
+Outlined.FormatIndentDecrease
+Outlined.FormatIndentIncrease
+Outlined.FormatListBulleted
+Outlined.FormatTextdirectionLToR
+Outlined.FormatTextdirectionRToL
+Outlined.Forward
+Outlined.ForwardToInbox
+Outlined.Grading
+Outlined.Help
+Outlined.HelpCenter
+Outlined.HelpOutline
+Outlined.Input
+Outlined.InsertComment
+Outlined.InsertDriveFile
+Outlined.KeyboardArrowLeft
+Outlined.KeyboardArrowRight
+Outlined.KeyboardBackspace
+Outlined.KeyboardReturn
+Outlined.KeyboardTab
+Outlined.Label
+Outlined.LabelImportant
+Outlined.LabelOff
+Outlined.LastPage
+Outlined.Launch
+Outlined.LibraryBooks
+Outlined.List
+Outlined.ListAlt
+Outlined.LiveHelp
+Outlined.Login
+Outlined.Logout
+Outlined.ManageSearch
+Outlined.MenuBook
+Outlined.MenuOpen
+Outlined.MergeType
+Outlined.Message
+Outlined.MissedVideoCall
+Outlined.MobileScreenShare
+Outlined.More
+Outlined.MultilineChart
+Outlined.NavigateBefore
+Outlined.NavigateNext
+Outlined.NextPlan
+Outlined.NextWeek
+Outlined.NotListedLocation
+Outlined.Note
+Outlined.NoteAdd
+Outlined.Notes
+Outlined.OfflineShare
+Outlined.OpenInNew
+Outlined.Outbound
+Outlined.PhoneCallback
+Outlined.PhoneForwarded
+Outlined.PhoneMissed
+Outlined.PlaylistAdd
+Outlined.PlaylistAddCheck
+Outlined.PlaylistPlay
+Outlined.QueueMusic
+Outlined.ReadMore
+Outlined.ReceiptLong
+Outlined.Redo
+Outlined.Reply
+Outlined.ReplyAll
+Outlined.RotateLeft
+Outlined.RotateRight
+Outlined.Rtt
+Outlined.Rule
+Outlined.ScheduleSend
+Outlined.ScreenShare
+Outlined.Segment
+Outlined.Send
+Outlined.SendAndArchive
+Outlined.SendToMobile
+Outlined.ShortText
+Outlined.Shortcut
+Outlined.ShowChart
+Outlined.Sort
+Outlined.SpeakerNotes
+Outlined.StarHalf
+Outlined.StickyNote2
+Outlined.StopScreenShare
+Outlined.Subject
+Outlined.TextSnippet
+Outlined.Toc
+Outlined.TrendingDown
+Outlined.TrendingFlat
+Outlined.TrendingUp
+Outlined.Undo
+Outlined.ViewList
+Outlined.ViewQuilt
+Outlined.ViewSidebar
+Outlined.VolumeDown
+Outlined.VolumeMute
+Outlined.VolumeOff
+Outlined.VolumeUp
+Outlined.WrapText
+Outlined.Wysiwyg
+Outlined._360
+Rounded.Accessible
+Rounded.AccessibleForward
+Rounded.AddToHomeScreen
+Rounded.AirplaneTicket
+Rounded.AlignHorizontalLeft
+Rounded.AlignHorizontalRight
+Rounded.AltRoute
+Rounded.Announcement
+Rounded.ArrowBack
+Rounded.ArrowBackIos
+Rounded.ArrowForward
+Rounded.ArrowForwardIos
+Rounded.ArrowLeft
+Rounded.ArrowRight
+Rounded.ArrowRightAlt
+Rounded.Article
+Rounded.Assignment
+Rounded.AssignmentReturn
+Rounded.AssistantDirection
+Rounded.Backspace
+Rounded.BatteryUnknown
+Rounded.BluetoothSearching
+Rounded.BrandingWatermark
+Rounded.CallMade
+Rounded.CallMerge
+Rounded.CallMissed
+Rounded.CallMissedOutgoing
+Rounded.CallReceived
+Rounded.CallSplit
+Rounded.Chat
+Rounded.ChromeReaderMode
+Rounded.Comment
+Rounded.CompareArrows
+Rounded.ContactSupport
+Rounded.DirectionsBike
+Rounded.DirectionsRun
+Rounded.DirectionsWalk
+Rounded.DriveFileMove
+Rounded.Dvr
+Rounded.EventNote
+Rounded.ExitToApp
+Rounded.FactCheck
+Rounded.FeaturedPlayList
+Rounded.FeaturedVideo
+Rounded.Feed
+Rounded.FollowTheSigns
+Rounded.FormatAlignLeft
+Rounded.FormatAlignRight
+Rounded.FormatIndentDecrease
+Rounded.FormatIndentIncrease
+Rounded.FormatListBulleted
+Rounded.FormatTextdirectionLToR
+Rounded.FormatTextdirectionRToL
+Rounded.Forward
+Rounded.ForwardToInbox
+Rounded.Grading
+Rounded.Help
+Rounded.HelpCenter
+Rounded.HelpOutline
+Rounded.Input
+Rounded.InsertComment
+Rounded.InsertDriveFile
+Rounded.KeyboardArrowLeft
+Rounded.KeyboardArrowRight
+Rounded.KeyboardBackspace
+Rounded.KeyboardReturn
+Rounded.KeyboardTab
+Rounded.Label
+Rounded.LabelImportant
+Rounded.LabelOff
+Rounded.LastPage
+Rounded.Launch
+Rounded.LibraryBooks
+Rounded.List
+Rounded.ListAlt
+Rounded.LiveHelp
+Rounded.Login
+Rounded.Logout
+Rounded.ManageSearch
+Rounded.MenuBook
+Rounded.MenuOpen
+Rounded.MergeType
+Rounded.Message
+Rounded.MissedVideoCall
+Rounded.MobileScreenShare
+Rounded.More
+Rounded.MultilineChart
+Rounded.NavigateBefore
+Rounded.NavigateNext
+Rounded.NextPlan
+Rounded.NextWeek
+Rounded.NotListedLocation
+Rounded.Note
+Rounded.NoteAdd
+Rounded.Notes
+Rounded.OfflineShare
+Rounded.OpenInNew
+Rounded.Outbound
+Rounded.PhoneCallback
+Rounded.PhoneForwarded
+Rounded.PhoneMissed
+Rounded.PlaylistAdd
+Rounded.PlaylistAddCheck
+Rounded.PlaylistPlay
+Rounded.QueueMusic
+Rounded.ReadMore
+Rounded.ReceiptLong
+Rounded.Redo
+Rounded.Reply
+Rounded.ReplyAll
+Rounded.RotateLeft
+Rounded.RotateRight
+Rounded.Rtt
+Rounded.Rule
+Rounded.ScheduleSend
+Rounded.ScreenShare
+Rounded.Segment
+Rounded.Send
+Rounded.SendAndArchive
+Rounded.SendToMobile
+Rounded.ShortText
+Rounded.Shortcut
+Rounded.ShowChart
+Rounded.Sort
+Rounded.SpeakerNotes
+Rounded.StarHalf
+Rounded.StickyNote2
+Rounded.StopScreenShare
+Rounded.Subject
+Rounded.TextSnippet
+Rounded.Toc
+Rounded.TrendingDown
+Rounded.TrendingFlat
+Rounded.TrendingUp
+Rounded.Undo
+Rounded.ViewList
+Rounded.ViewQuilt
+Rounded.ViewSidebar
+Rounded.VolumeDown
+Rounded.VolumeMute
+Rounded.VolumeOff
+Rounded.VolumeUp
+Rounded.WrapText
+Rounded.Wysiwyg
+Rounded._360
+Sharp.Accessible
+Sharp.AccessibleForward
+Sharp.AddToHomeScreen
+Sharp.AirplaneTicket
+Sharp.AlignHorizontalLeft
+Sharp.AlignHorizontalRight
+Sharp.AltRoute
+Sharp.Announcement
+Sharp.ArrowBack
+Sharp.ArrowBackIos
+Sharp.ArrowForward
+Sharp.ArrowForwardIos
+Sharp.ArrowLeft
+Sharp.ArrowRight
+Sharp.ArrowRightAlt
+Sharp.Article
+Sharp.Assignment
+Sharp.AssignmentReturn
+Sharp.AssistantDirection
+Sharp.Backspace
+Sharp.BatteryUnknown
+Sharp.BluetoothSearching
+Sharp.BrandingWatermark
+Sharp.CallMade
+Sharp.CallMerge
+Sharp.CallMissed
+Sharp.CallMissedOutgoing
+Sharp.CallReceived
+Sharp.CallSplit
+Sharp.Chat
+Sharp.ChromeReaderMode
+Sharp.Comment
+Sharp.CompareArrows
+Sharp.ContactSupport
+Sharp.DirectionsBike
+Sharp.DirectionsRun
+Sharp.DirectionsWalk
+Sharp.DriveFileMove
+Sharp.Dvr
+Sharp.EventNote
+Sharp.ExitToApp
+Sharp.FactCheck
+Sharp.FeaturedPlayList
+Sharp.FeaturedVideo
+Sharp.Feed
+Sharp.FollowTheSigns
+Sharp.FormatAlignLeft
+Sharp.FormatAlignRight
+Sharp.FormatIndentDecrease
+Sharp.FormatIndentIncrease
+Sharp.FormatListBulleted
+Sharp.FormatTextdirectionLToR
+Sharp.FormatTextdirectionRToL
+Sharp.Forward
+Sharp.ForwardToInbox
+Sharp.Grading
+Sharp.Help
+Sharp.HelpCenter
+Sharp.HelpOutline
+Sharp.Input
+Sharp.InsertComment
+Sharp.InsertDriveFile
+Sharp.KeyboardArrowLeft
+Sharp.KeyboardArrowRight
+Sharp.KeyboardBackspace
+Sharp.KeyboardReturn
+Sharp.KeyboardTab
+Sharp.Label
+Sharp.LabelImportant
+Sharp.LabelOff
+Sharp.LastPage
+Sharp.Launch
+Sharp.LibraryBooks
+Sharp.List
+Sharp.ListAlt
+Sharp.LiveHelp
+Sharp.Login
+Sharp.Logout
+Sharp.ManageSearch
+Sharp.MenuBook
+Sharp.MenuOpen
+Sharp.MergeType
+Sharp.Message
+Sharp.MissedVideoCall
+Sharp.MobileScreenShare
+Sharp.More
+Sharp.MultilineChart
+Sharp.NavigateBefore
+Sharp.NavigateNext
+Sharp.NextPlan
+Sharp.NextWeek
+Sharp.NotListedLocation
+Sharp.Note
+Sharp.NoteAdd
+Sharp.Notes
+Sharp.OfflineShare
+Sharp.OpenInNew
+Sharp.Outbound
+Sharp.PhoneCallback
+Sharp.PhoneForwarded
+Sharp.PhoneMissed
+Sharp.PlaylistAdd
+Sharp.PlaylistAddCheck
+Sharp.PlaylistPlay
+Sharp.QueueMusic
+Sharp.ReadMore
+Sharp.ReceiptLong
+Sharp.Redo
+Sharp.Reply
+Sharp.ReplyAll
+Sharp.RotateLeft
+Sharp.RotateRight
+Sharp.Rtt
+Sharp.Rule
+Sharp.ScheduleSend
+Sharp.ScreenShare
+Sharp.Segment
+Sharp.Send
+Sharp.SendAndArchive
+Sharp.SendToMobile
+Sharp.ShortText
+Sharp.Shortcut
+Sharp.ShowChart
+Sharp.Sort
+Sharp.SpeakerNotes
+Sharp.StarHalf
+Sharp.StickyNote2
+Sharp.StopScreenShare
+Sharp.Subject
+Sharp.TextSnippet
+Sharp.Toc
+Sharp.TrendingDown
+Sharp.TrendingFlat
+Sharp.TrendingUp
+Sharp.Undo
+Sharp.ViewList
+Sharp.ViewQuilt
+Sharp.ViewSidebar
+Sharp.VolumeDown
+Sharp.VolumeMute
+Sharp.VolumeOff
+Sharp.VolumeUp
+Sharp.WrapText
+Sharp.Wysiwyg
+Sharp._360
+TwoTone.Accessible
+TwoTone.AccessibleForward
+TwoTone.AddToHomeScreen
+TwoTone.AirplaneTicket
+TwoTone.AlignHorizontalLeft
+TwoTone.AlignHorizontalRight
+TwoTone.AltRoute
+TwoTone.Announcement
+TwoTone.ArrowBack
+TwoTone.ArrowBackIos
+TwoTone.ArrowForward
+TwoTone.ArrowForwardIos
+TwoTone.ArrowLeft
+TwoTone.ArrowRight
+TwoTone.ArrowRightAlt
+TwoTone.Article
+TwoTone.Assignment
+TwoTone.AssignmentReturn
+TwoTone.AssistantDirection
+TwoTone.Backspace
+TwoTone.BatteryUnknown
+TwoTone.BluetoothSearching
+TwoTone.BrandingWatermark
+TwoTone.CallMade
+TwoTone.CallMerge
+TwoTone.CallMissed
+TwoTone.CallMissedOutgoing
+TwoTone.CallReceived
+TwoTone.CallSplit
+TwoTone.Chat
+TwoTone.ChromeReaderMode
+TwoTone.Comment
+TwoTone.CompareArrows
+TwoTone.ContactSupport
+TwoTone.DirectionsBike
+TwoTone.DirectionsRun
+TwoTone.DirectionsWalk
+TwoTone.DriveFileMove
+TwoTone.Dvr
+TwoTone.EventNote
+TwoTone.ExitToApp
+TwoTone.FactCheck
+TwoTone.FeaturedPlayList
+TwoTone.FeaturedVideo
+TwoTone.Feed
+TwoTone.FollowTheSigns
+TwoTone.FormatAlignLeft
+TwoTone.FormatAlignRight
+TwoTone.FormatIndentDecrease
+TwoTone.FormatIndentIncrease
+TwoTone.FormatListBulleted
+TwoTone.FormatTextdirectionLToR
+TwoTone.FormatTextdirectionRToL
+TwoTone.Forward
+TwoTone.ForwardToInbox
+TwoTone.Grading
+TwoTone.Help
+TwoTone.HelpCenter
+TwoTone.HelpOutline
+TwoTone.Input
+TwoTone.InsertComment
+TwoTone.InsertDriveFile
+TwoTone.KeyboardArrowLeft
+TwoTone.KeyboardArrowRight
+TwoTone.KeyboardBackspace
+TwoTone.KeyboardReturn
+TwoTone.KeyboardTab
+TwoTone.Label
+TwoTone.LabelImportant
+TwoTone.LabelOff
+TwoTone.LastPage
+TwoTone.Launch
+TwoTone.LibraryBooks
+TwoTone.List
+TwoTone.ListAlt
+TwoTone.LiveHelp
+TwoTone.Login
+TwoTone.Logout
+TwoTone.ManageSearch
+TwoTone.MenuBook
+TwoTone.MenuOpen
+TwoTone.MergeType
+TwoTone.Message
+TwoTone.MissedVideoCall
+TwoTone.MobileScreenShare
+TwoTone.More
+TwoTone.MultilineChart
+TwoTone.NavigateBefore
+TwoTone.NavigateNext
+TwoTone.NextPlan
+TwoTone.NextWeek
+TwoTone.NotListedLocation
+TwoTone.Note
+TwoTone.NoteAdd
+TwoTone.Notes
+TwoTone.OfflineShare
+TwoTone.OpenInNew
+TwoTone.Outbound
+TwoTone.PhoneCallback
+TwoTone.PhoneForwarded
+TwoTone.PhoneMissed
+TwoTone.PlaylistAdd
+TwoTone.PlaylistAddCheck
+TwoTone.PlaylistPlay
+TwoTone.QueueMusic
+TwoTone.ReadMore
+TwoTone.ReceiptLong
+TwoTone.Redo
+TwoTone.Reply
+TwoTone.ReplyAll
+TwoTone.RotateLeft
+TwoTone.RotateRight
+TwoTone.Rtt
+TwoTone.Rule
+TwoTone.ScheduleSend
+TwoTone.ScreenShare
+TwoTone.Segment
+TwoTone.Send
+TwoTone.SendAndArchive
+TwoTone.SendToMobile
+TwoTone.ShortText
+TwoTone.Shortcut
+TwoTone.ShowChart
+TwoTone.Sort
+TwoTone.SpeakerNotes
+TwoTone.StarHalf
+TwoTone.StickyNote2
+TwoTone.StopScreenShare
+TwoTone.Subject
+TwoTone.TextSnippet
+TwoTone.Toc
+TwoTone.TrendingDown
+TwoTone.TrendingFlat
+TwoTone.TrendingUp
+TwoTone.Undo
+TwoTone.ViewList
+TwoTone.ViewQuilt
+TwoTone.ViewSidebar
+TwoTone.VolumeDown
+TwoTone.VolumeMute
+TwoTone.VolumeOff
+TwoTone.VolumeUp
+TwoTone.WrapText
+TwoTone.Wysiwyg
+TwoTone._360
\ No newline at end of file
diff --git a/compose/material/material/icons/generator/api/icons.txt b/compose/material/material/icons/generator/api/icons.txt
index e5c38de..b23fe4c 100644
--- a/compose/material/material/icons/generator/api/icons.txt
+++ b/compose/material/material/icons/generator/api/icons.txt
@@ -6,8 +6,6 @@
 Filled.AccessTimeFilled
 Filled.Accessibility
 Filled.AccessibilityNew
-Filled.Accessible
-Filled.AccessibleForward
 Filled.AccountBalance
 Filled.AccountBalanceWallet
 Filled.AccountBox
@@ -39,7 +37,6 @@
 Filled.AddShoppingCart
 Filled.AddTask
 Filled.AddToDrive
-Filled.AddToHomeScreen
 Filled.AddToPhotos
 Filled.AddToQueue
 Filled.Addchart
@@ -59,7 +56,6 @@
 Filled.AirlineSeatReclineNormal
 Filled.AirlineStops
 Filled.Airlines
-Filled.AirplaneTicket
 Filled.AirplanemodeActive
 Filled.AirplanemodeInactive
 Filled.Airplay
@@ -70,22 +66,18 @@
 Filled.AlarmOn
 Filled.Album
 Filled.AlignHorizontalCenter
-Filled.AlignHorizontalLeft
-Filled.AlignHorizontalRight
 Filled.AlignVerticalBottom
 Filled.AlignVerticalCenter
 Filled.AlignVerticalTop
 Filled.AllInbox
 Filled.AllInclusive
 Filled.AllOut
-Filled.AltRoute
 Filled.AlternateEmail
 Filled.AmpStories
 Filled.Analytics
 Filled.Anchor
 Filled.Android
 Filled.Animation
-Filled.Announcement
 Filled.Aod
 Filled.Apartment
 Filled.Api
@@ -99,8 +91,6 @@
 Filled.Architecture
 Filled.Archive
 Filled.AreaChart
-Filled.ArrowBack
-Filled.ArrowBackIos
 Filled.ArrowBackIosNew
 Filled.ArrowCircleDown
 Filled.ArrowCircleLeft
@@ -110,26 +100,17 @@
 Filled.ArrowDropDown
 Filled.ArrowDropDownCircle
 Filled.ArrowDropUp
-Filled.ArrowForward
-Filled.ArrowForwardIos
-Filled.ArrowLeft
 Filled.ArrowOutward
-Filled.ArrowRight
-Filled.ArrowRightAlt
 Filled.ArrowUpward
 Filled.ArtTrack
-Filled.Article
 Filled.AspectRatio
 Filled.Assessment
-Filled.Assignment
 Filled.AssignmentInd
 Filled.AssignmentLate
-Filled.AssignmentReturn
 Filled.AssignmentReturned
 Filled.AssignmentTurnedIn
 Filled.AssistWalker
 Filled.Assistant
-Filled.AssistantDirection
 Filled.AssistantPhoto
 Filled.AssuredWorkload
 Filled.Atm
@@ -157,7 +138,6 @@
 Filled.BabyChangingStation
 Filled.BackHand
 Filled.Backpack
-Filled.Backspace
 Filled.Backup
 Filled.BackupTable
 Filled.Badge
@@ -181,7 +161,6 @@
 Filled.BatteryFull
 Filled.BatterySaver
 Filled.BatteryStd
-Filled.BatteryUnknown
 Filled.BeachAccess
 Filled.Bed
 Filled.BedroomBaby
@@ -204,7 +183,6 @@
 Filled.BluetoothConnected
 Filled.BluetoothDisabled
 Filled.BluetoothDrive
-Filled.BluetoothSearching
 Filled.BlurCircular
 Filled.BlurLinear
 Filled.BlurOff
@@ -231,7 +209,6 @@
 Filled.BorderTop
 Filled.BorderVertical
 Filled.Boy
-Filled.BrandingWatermark
 Filled.BreakfastDining
 Filled.Brightness1
 Filled.Brightness2
@@ -273,12 +250,6 @@
 Filled.CalendarViewWeek
 Filled.Call
 Filled.CallEnd
-Filled.CallMade
-Filled.CallMerge
-Filled.CallMissed
-Filled.CallMissedOutgoing
-Filled.CallReceived
-Filled.CallSplit
 Filled.CallToAction
 Filled.Camera
 Filled.CameraAlt
@@ -320,7 +291,6 @@
 Filled.ChangeCircle
 Filled.ChangeHistory
 Filled.ChargingStation
-Filled.Chat
 Filled.ChatBubble
 Filled.ChatBubbleOutline
 Filled.Check
@@ -335,7 +305,6 @@
 Filled.ChevronRight
 Filled.ChildCare
 Filled.ChildFriendly
-Filled.ChromeReaderMode
 Filled.Church
 Filled.Circle
 Filled.CircleNotifications
@@ -367,13 +336,11 @@
 Filled.CollectionsBookmark
 Filled.ColorLens
 Filled.Colorize
-Filled.Comment
 Filled.CommentBank
 Filled.CommentsDisabled
 Filled.Commit
 Filled.Commute
 Filled.Compare
-Filled.CompareArrows
 Filled.CompassCalibration
 Filled.Compost
 Filled.Compress
@@ -387,7 +354,6 @@
 Filled.ContactMail
 Filled.ContactPage
 Filled.ContactPhone
-Filled.ContactSupport
 Filled.Contactless
 Filled.Contacts
 Filled.ContentCopy
@@ -490,7 +456,6 @@
 Filled.Dining
 Filled.DinnerDining
 Filled.Directions
-Filled.DirectionsBike
 Filled.DirectionsBoat
 Filled.DirectionsBoatFilled
 Filled.DirectionsBus
@@ -500,12 +465,10 @@
 Filled.DirectionsOff
 Filled.DirectionsRailway
 Filled.DirectionsRailwayFilled
-Filled.DirectionsRun
 Filled.DirectionsSubway
 Filled.DirectionsSubwayFilled
 Filled.DirectionsTransit
 Filled.DirectionsTransitFilled
-Filled.DirectionsWalk
 Filled.DirtyLens
 Filled.DisabledByDefault
 Filled.DisabledVisible
@@ -553,14 +516,12 @@
 Filled.DragIndicator
 Filled.Draw
 Filled.DriveEta
-Filled.DriveFileMove
 Filled.DriveFileMoveRtl
 Filled.DriveFileRenameOutline
 Filled.DriveFolderUpload
 Filled.Dry
 Filled.DryCleaning
 Filled.Duo
-Filled.Dvr
 Filled.DynamicFeed
 Filled.DynamicForm
 Filled.EMobiledata
@@ -620,10 +581,8 @@
 Filled.Event
 Filled.EventAvailable
 Filled.EventBusy
-Filled.EventNote
 Filled.EventRepeat
 Filled.EventSeat
-Filled.ExitToApp
 Filled.Expand
 Filled.ExpandCircleDown
 Filled.ExpandLess
@@ -648,7 +607,6 @@
 Filled.FaceRetouchingNatural
 Filled.FaceRetouchingOff
 Filled.Facebook
-Filled.FactCheck
 Filled.Factory
 Filled.FamilyRestroom
 Filled.FastForward
@@ -657,9 +615,6 @@
 Filled.Favorite
 Filled.FavoriteBorder
 Filled.Fax
-Filled.FeaturedPlayList
-Filled.FeaturedVideo
-Filled.Feed
 Filled.Feedback
 Filled.Female
 Filled.Fence
@@ -743,7 +698,6 @@
 Filled.FolderShared
 Filled.FolderSpecial
 Filled.FolderZip
-Filled.FollowTheSigns
 Filled.FontDownload
 Filled.FontDownloadOff
 Filled.FoodBank
@@ -752,18 +706,13 @@
 Filled.ForkRight
 Filled.FormatAlignCenter
 Filled.FormatAlignJustify
-Filled.FormatAlignLeft
-Filled.FormatAlignRight
 Filled.FormatBold
 Filled.FormatClear
 Filled.FormatColorFill
 Filled.FormatColorReset
 Filled.FormatColorText
-Filled.FormatIndentDecrease
-Filled.FormatIndentIncrease
 Filled.FormatItalic
 Filled.FormatLineSpacing
-Filled.FormatListBulleted
 Filled.FormatListNumbered
 Filled.FormatListNumberedRtl
 Filled.FormatOverline
@@ -772,16 +721,12 @@
 Filled.FormatShapes
 Filled.FormatSize
 Filled.FormatStrikethrough
-Filled.FormatTextdirectionLToR
-Filled.FormatTextdirectionRToL
 Filled.FormatUnderlined
 Filled.Fort
 Filled.Forum
-Filled.Forward
 Filled.Forward10
 Filled.Forward30
 Filled.Forward5
-Filled.ForwardToInbox
 Filled.Foundation
 Filled.FreeBreakfast
 Filled.FreeCancellation
@@ -812,7 +757,6 @@
 Filled.GpsOff
 Filled.Grade
 Filled.Gradient
-Filled.Grading
 Filled.Grain
 Filled.GraphicEq
 Filled.Grass
@@ -859,9 +803,6 @@
 Filled.HeartBroken
 Filled.HeatPump
 Filled.Height
-Filled.Help
-Filled.HelpCenter
-Filled.HelpOutline
 Filled.Hevc
 Filled.Hexagon
 Filled.HideImage
@@ -918,11 +859,8 @@
 Filled.IncompleteCircle
 Filled.IndeterminateCheckBox
 Filled.Info
-Filled.Input
 Filled.InsertChart
 Filled.InsertChartOutlined
-Filled.InsertComment
-Filled.InsertDriveFile
 Filled.InsertEmoticon
 Filled.InsertInvitation
 Filled.InsertLink
@@ -953,10 +891,7 @@
 Filled.Keyboard
 Filled.KeyboardAlt
 Filled.KeyboardArrowDown
-Filled.KeyboardArrowLeft
-Filled.KeyboardArrowRight
 Filled.KeyboardArrowUp
-Filled.KeyboardBackspace
 Filled.KeyboardCapslock
 Filled.KeyboardCommandKey
 Filled.KeyboardControlKey
@@ -966,15 +901,10 @@
 Filled.KeyboardDoubleArrowUp
 Filled.KeyboardHide
 Filled.KeyboardOptionKey
-Filled.KeyboardReturn
-Filled.KeyboardTab
 Filled.KeyboardVoice
 Filled.KingBed
 Filled.Kitchen
 Filled.Kitesurfing
-Filled.Label
-Filled.LabelImportant
-Filled.LabelOff
 Filled.Lan
 Filled.Landscape
 Filled.Landslide
@@ -983,8 +913,6 @@
 Filled.LaptopChromebook
 Filled.LaptopMac
 Filled.LaptopWindows
-Filled.LastPage
-Filled.Launch
 Filled.Layers
 Filled.LayersClear
 Filled.Leaderboard
@@ -996,7 +924,6 @@
 Filled.LensBlur
 Filled.LibraryAdd
 Filled.LibraryAddCheck
-Filled.LibraryBooks
 Filled.LibraryMusic
 Filled.Light
 Filled.LightMode
@@ -1010,9 +937,6 @@
 Filled.LinkOff
 Filled.LinkedCamera
 Filled.Liquor
-Filled.List
-Filled.ListAlt
-Filled.LiveHelp
 Filled.LiveTv
 Filled.Living
 Filled.LocalActivity
@@ -1056,9 +980,7 @@
 Filled.LockOpen
 Filled.LockPerson
 Filled.LockReset
-Filled.Login
 Filled.LogoDev
-Filled.Logout
 Filled.Looks
 Filled.Looks3
 Filled.Looks4
@@ -1086,7 +1008,6 @@
 Filled.Man4
 Filled.ManageAccounts
 Filled.ManageHistory
-Filled.ManageSearch
 Filled.Map
 Filled.MapsHomeWork
 Filled.MapsUgc
@@ -1110,11 +1031,7 @@
 Filled.MeetingRoom
 Filled.Memory
 Filled.Menu
-Filled.MenuBook
-Filled.MenuOpen
 Filled.Merge
-Filled.MergeType
-Filled.Message
 Filled.Mic
 Filled.MicExternalOff
 Filled.MicExternalOn
@@ -1125,11 +1042,9 @@
 Filled.Minimize
 Filled.MinorCrash
 Filled.MiscellaneousServices
-Filled.MissedVideoCall
 Filled.Mms
 Filled.MobileFriendly
 Filled.MobileOff
-Filled.MobileScreenShare
 Filled.MobiledataOff
 Filled.Mode
 Filled.ModeComment
@@ -1151,7 +1066,6 @@
 Filled.Mood
 Filled.MoodBad
 Filled.Moped
-Filled.More
 Filled.MoreHoriz
 Filled.MoreTime
 Filled.MoreVert
@@ -1171,7 +1085,6 @@
 Filled.MovieFilter
 Filled.Moving
 Filled.Mp
-Filled.MultilineChart
 Filled.MultipleStop
 Filled.Museum
 Filled.MusicNote
@@ -1181,8 +1094,6 @@
 Filled.Nat
 Filled.Nature
 Filled.NaturePeople
-Filled.NavigateBefore
-Filled.NavigateNext
 Filled.Navigation
 Filled.NearMe
 Filled.NearMeDisabled
@@ -1200,8 +1111,6 @@
 Filled.NewLabel
 Filled.NewReleases
 Filled.Newspaper
-Filled.NextPlan
-Filled.NextWeek
 Filled.Nfc
 Filled.NightShelter
 Filled.Nightlife
@@ -1233,12 +1142,8 @@
 Filled.NorthWest
 Filled.NotAccessible
 Filled.NotInterested
-Filled.NotListedLocation
 Filled.NotStarted
-Filled.Note
-Filled.NoteAdd
 Filled.NoteAlt
-Filled.Notes
 Filled.NotificationAdd
 Filled.NotificationImportant
 Filled.Notifications
@@ -1249,7 +1154,6 @@
 Filled.Numbers
 Filled.OfflineBolt
 Filled.OfflinePin
-Filled.OfflineShare
 Filled.OilBarrel
 Filled.OnDeviceTraining
 Filled.OndemandVideo
@@ -1257,12 +1161,10 @@
 Filled.Opacity
 Filled.OpenInBrowser
 Filled.OpenInFull
-Filled.OpenInNew
 Filled.OpenInNewOff
 Filled.OpenWith
 Filled.OtherHouses
 Filled.Outbond
-Filled.Outbound
 Filled.Outbox
 Filled.OutdoorGrill
 Filled.Outlet
@@ -1337,14 +1239,11 @@
 Filled.Phone
 Filled.PhoneAndroid
 Filled.PhoneBluetoothSpeaker
-Filled.PhoneCallback
 Filled.PhoneDisabled
 Filled.PhoneEnabled
-Filled.PhoneForwarded
 Filled.PhoneInTalk
 Filled.PhoneIphone
 Filled.PhoneLocked
-Filled.PhoneMissed
 Filled.PhonePaused
 Filled.Phonelink
 Filled.PhonelinkErase
@@ -1386,11 +1285,8 @@
 Filled.PlayDisabled
 Filled.PlayForWork
 Filled.PlayLesson
-Filled.PlaylistAdd
-Filled.PlaylistAddCheck
 Filled.PlaylistAddCheckCircle
 Filled.PlaylistAddCircle
-Filled.PlaylistPlay
 Filled.PlaylistRemove
 Filled.Plumbing
 Filled.PlusOne
@@ -1438,7 +1334,6 @@
 Filled.QuestionAnswer
 Filled.QuestionMark
 Filled.Queue
-Filled.QueueMusic
 Filled.QueuePlayNext
 Filled.Quickreply
 Filled.Quiz
@@ -1454,17 +1349,14 @@
 Filled.RateReview
 Filled.RawOff
 Filled.RawOn
-Filled.ReadMore
 Filled.RealEstateAgent
 Filled.Receipt
-Filled.ReceiptLong
 Filled.RecentActors
 Filled.Recommend
 Filled.RecordVoiceOver
 Filled.Rectangle
 Filled.Recycling
 Filled.Redeem
-Filled.Redo
 Filled.ReduceCapacity
 Filled.Refresh
 Filled.RememberMe
@@ -1488,8 +1380,6 @@
 Filled.Replay30
 Filled.Replay5
 Filled.ReplayCircleFilled
-Filled.Reply
-Filled.ReplyAll
 Filled.Report
 Filled.ReportGmailerrorred
 Filled.ReportOff
@@ -1517,8 +1407,6 @@
 Filled.RoomService
 Filled.Rotate90DegreesCcw
 Filled.Rotate90DegreesCw
-Filled.RotateLeft
-Filled.RotateRight
 Filled.RoundaboutLeft
 Filled.RoundaboutRight
 Filled.RoundedCorner
@@ -1527,8 +1415,6 @@
 Filled.Rowing
 Filled.RssFeed
 Filled.Rsvp
-Filled.Rtt
-Filled.Rule
 Filled.RuleFolder
 Filled.RunCircle
 Filled.RunningWithErrors
@@ -1548,7 +1434,6 @@
 Filled.Scanner
 Filled.ScatterPlot
 Filled.Schedule
-Filled.ScheduleSend
 Filled.Schema
 Filled.School
 Filled.Science
@@ -1560,7 +1445,6 @@
 Filled.ScreenRotation
 Filled.ScreenRotationAlt
 Filled.ScreenSearchDesktop
-Filled.ScreenShare
 Filled.Screenshot
 Filled.ScreenshotMonitor
 Filled.ScubaDiving
@@ -1574,14 +1458,10 @@
 Filled.SecurityUpdate
 Filled.SecurityUpdateGood
 Filled.SecurityUpdateWarning
-Filled.Segment
 Filled.SelectAll
 Filled.SelfImprovement
 Filled.Sell
-Filled.Send
-Filled.SendAndArchive
 Filled.SendTimeExtension
-Filled.SendToMobile
 Filled.SensorDoor
 Filled.SensorOccupied
 Filled.SensorWindow
@@ -1627,9 +1507,6 @@
 Filled.ShoppingBasket
 Filled.ShoppingCart
 Filled.ShoppingCartCheckout
-Filled.ShortText
-Filled.Shortcut
-Filled.ShowChart
 Filled.Shower
 Filled.Shuffle
 Filled.ShuffleOn
@@ -1685,7 +1562,6 @@
 Filled.Soap
 Filled.SocialDistance
 Filled.SolarPower
-Filled.Sort
 Filled.SortByAlpha
 Filled.Sos
 Filled.SoupKitchen
@@ -1702,7 +1578,6 @@
 Filled.SpatialTracking
 Filled.Speaker
 Filled.SpeakerGroup
-Filled.SpeakerNotes
 Filled.SpeakerNotesOff
 Filled.SpeakerPhone
 Filled.Speed
@@ -1739,7 +1614,6 @@
 Filled.Star
 Filled.StarBorder
 Filled.StarBorderPurple500
-Filled.StarHalf
 Filled.StarOutline
 Filled.StarPurple500
 Filled.StarRate
@@ -1749,10 +1623,8 @@
 Filled.StayCurrentPortrait
 Filled.StayPrimaryLandscape
 Filled.StayPrimaryPortrait
-Filled.StickyNote2
 Filled.Stop
 Filled.StopCircle
-Filled.StopScreenShare
 Filled.Storage
 Filled.Store
 Filled.StoreMallDirectory
@@ -1767,7 +1639,6 @@
 Filled.Style
 Filled.SubdirectoryArrowLeft
 Filled.SubdirectoryArrowRight
-Filled.Subject
 Filled.Subscript
 Filled.Subscriptions
 Filled.Subtitles
@@ -1846,7 +1717,6 @@
 Filled.TextRotationAngleup
 Filled.TextRotationDown
 Filled.TextRotationNone
-Filled.TextSnippet
 Filled.Textsms
 Filled.Texture
 Filled.TheaterComedy
@@ -1873,7 +1743,6 @@
 Filled.TipsAndUpdates
 Filled.TireRepair
 Filled.Title
-Filled.Toc
 Filled.Today
 Filled.ToggleOff
 Filled.ToggleOn
@@ -1896,9 +1765,6 @@
 Filled.TransitEnterexit
 Filled.Translate
 Filled.TravelExplore
-Filled.TrendingDown
-Filled.TrendingFlat
-Filled.TrendingUp
 Filled.TripOrigin
 Filled.Troubleshoot
 Filled.Try
@@ -1922,7 +1788,6 @@
 Filled.UTurnRight
 Filled.Umbrella
 Filled.Unarchive
-Filled.Undo
 Filled.UnfoldLess
 Filled.UnfoldLessDouble
 Filled.UnfoldMore
@@ -1976,10 +1841,7 @@
 Filled.ViewHeadline
 Filled.ViewInAr
 Filled.ViewKanban
-Filled.ViewList
 Filled.ViewModule
-Filled.ViewQuilt
-Filled.ViewSidebar
 Filled.ViewStream
 Filled.ViewTimeline
 Filled.ViewWeek
@@ -1991,10 +1853,6 @@
 Filled.VoiceOverOff
 Filled.Voicemail
 Filled.Volcano
-Filled.VolumeDown
-Filled.VolumeMute
-Filled.VolumeOff
-Filled.VolumeUp
 Filled.VolunteerActivism
 Filled.VpnKey
 Filled.VpnKeyOff
@@ -2064,9 +1922,7 @@
 Filled.WorkOutline
 Filled.WorkspacePremium
 Filled.Workspaces
-Filled.WrapText
 Filled.WrongLocation
-Filled.Wysiwyg
 Filled.Yard
 Filled.YoutubeSearchedFor
 Filled.ZoomIn
@@ -2099,7 +1955,6 @@
 Filled._2mp
 Filled._30fps
 Filled._30fpsSelect
-Filled._360
 Filled._3dRotation
 Filled._3gMobiledata
 Filled._3k
@@ -2138,8 +1993,6 @@
 Outlined.AccessTimeFilled
 Outlined.Accessibility
 Outlined.AccessibilityNew
-Outlined.Accessible
-Outlined.AccessibleForward
 Outlined.AccountBalance
 Outlined.AccountBalanceWallet
 Outlined.AccountBox
@@ -2171,7 +2024,6 @@
 Outlined.AddShoppingCart
 Outlined.AddTask
 Outlined.AddToDrive
-Outlined.AddToHomeScreen
 Outlined.AddToPhotos
 Outlined.AddToQueue
 Outlined.Addchart
@@ -2191,7 +2043,6 @@
 Outlined.AirlineSeatReclineNormal
 Outlined.AirlineStops
 Outlined.Airlines
-Outlined.AirplaneTicket
 Outlined.AirplanemodeActive
 Outlined.AirplanemodeInactive
 Outlined.Airplay
@@ -2202,22 +2053,18 @@
 Outlined.AlarmOn
 Outlined.Album
 Outlined.AlignHorizontalCenter
-Outlined.AlignHorizontalLeft
-Outlined.AlignHorizontalRight
 Outlined.AlignVerticalBottom
 Outlined.AlignVerticalCenter
 Outlined.AlignVerticalTop
 Outlined.AllInbox
 Outlined.AllInclusive
 Outlined.AllOut
-Outlined.AltRoute
 Outlined.AlternateEmail
 Outlined.AmpStories
 Outlined.Analytics
 Outlined.Anchor
 Outlined.Android
 Outlined.Animation
-Outlined.Announcement
 Outlined.Aod
 Outlined.Apartment
 Outlined.Api
@@ -2231,8 +2078,6 @@
 Outlined.Architecture
 Outlined.Archive
 Outlined.AreaChart
-Outlined.ArrowBack
-Outlined.ArrowBackIos
 Outlined.ArrowBackIosNew
 Outlined.ArrowCircleDown
 Outlined.ArrowCircleLeft
@@ -2242,26 +2087,17 @@
 Outlined.ArrowDropDown
 Outlined.ArrowDropDownCircle
 Outlined.ArrowDropUp
-Outlined.ArrowForward
-Outlined.ArrowForwardIos
-Outlined.ArrowLeft
 Outlined.ArrowOutward
-Outlined.ArrowRight
-Outlined.ArrowRightAlt
 Outlined.ArrowUpward
 Outlined.ArtTrack
-Outlined.Article
 Outlined.AspectRatio
 Outlined.Assessment
-Outlined.Assignment
 Outlined.AssignmentInd
 Outlined.AssignmentLate
-Outlined.AssignmentReturn
 Outlined.AssignmentReturned
 Outlined.AssignmentTurnedIn
 Outlined.AssistWalker
 Outlined.Assistant
-Outlined.AssistantDirection
 Outlined.AssistantPhoto
 Outlined.AssuredWorkload
 Outlined.Atm
@@ -2289,7 +2125,6 @@
 Outlined.BabyChangingStation
 Outlined.BackHand
 Outlined.Backpack
-Outlined.Backspace
 Outlined.Backup
 Outlined.BackupTable
 Outlined.Badge
@@ -2313,7 +2148,6 @@
 Outlined.BatteryFull
 Outlined.BatterySaver
 Outlined.BatteryStd
-Outlined.BatteryUnknown
 Outlined.BeachAccess
 Outlined.Bed
 Outlined.BedroomBaby
@@ -2336,7 +2170,6 @@
 Outlined.BluetoothConnected
 Outlined.BluetoothDisabled
 Outlined.BluetoothDrive
-Outlined.BluetoothSearching
 Outlined.BlurCircular
 Outlined.BlurLinear
 Outlined.BlurOff
@@ -2363,7 +2196,6 @@
 Outlined.BorderTop
 Outlined.BorderVertical
 Outlined.Boy
-Outlined.BrandingWatermark
 Outlined.BreakfastDining
 Outlined.Brightness1
 Outlined.Brightness2
@@ -2405,12 +2237,6 @@
 Outlined.CalendarViewWeek
 Outlined.Call
 Outlined.CallEnd
-Outlined.CallMade
-Outlined.CallMerge
-Outlined.CallMissed
-Outlined.CallMissedOutgoing
-Outlined.CallReceived
-Outlined.CallSplit
 Outlined.CallToAction
 Outlined.Camera
 Outlined.CameraAlt
@@ -2452,7 +2278,6 @@
 Outlined.ChangeCircle
 Outlined.ChangeHistory
 Outlined.ChargingStation
-Outlined.Chat
 Outlined.ChatBubble
 Outlined.ChatBubbleOutline
 Outlined.Check
@@ -2467,7 +2292,6 @@
 Outlined.ChevronRight
 Outlined.ChildCare
 Outlined.ChildFriendly
-Outlined.ChromeReaderMode
 Outlined.Church
 Outlined.Circle
 Outlined.CircleNotifications
@@ -2499,13 +2323,11 @@
 Outlined.CollectionsBookmark
 Outlined.ColorLens
 Outlined.Colorize
-Outlined.Comment
 Outlined.CommentBank
 Outlined.CommentsDisabled
 Outlined.Commit
 Outlined.Commute
 Outlined.Compare
-Outlined.CompareArrows
 Outlined.CompassCalibration
 Outlined.Compost
 Outlined.Compress
@@ -2519,7 +2341,6 @@
 Outlined.ContactMail
 Outlined.ContactPage
 Outlined.ContactPhone
-Outlined.ContactSupport
 Outlined.Contactless
 Outlined.Contacts
 Outlined.ContentCopy
@@ -2622,7 +2443,6 @@
 Outlined.Dining
 Outlined.DinnerDining
 Outlined.Directions
-Outlined.DirectionsBike
 Outlined.DirectionsBoat
 Outlined.DirectionsBoatFilled
 Outlined.DirectionsBus
@@ -2632,12 +2452,10 @@
 Outlined.DirectionsOff
 Outlined.DirectionsRailway
 Outlined.DirectionsRailwayFilled
-Outlined.DirectionsRun
 Outlined.DirectionsSubway
 Outlined.DirectionsSubwayFilled
 Outlined.DirectionsTransit
 Outlined.DirectionsTransitFilled
-Outlined.DirectionsWalk
 Outlined.DirtyLens
 Outlined.DisabledByDefault
 Outlined.DisabledVisible
@@ -2685,14 +2503,12 @@
 Outlined.DragIndicator
 Outlined.Draw
 Outlined.DriveEta
-Outlined.DriveFileMove
 Outlined.DriveFileMoveRtl
 Outlined.DriveFileRenameOutline
 Outlined.DriveFolderUpload
 Outlined.Dry
 Outlined.DryCleaning
 Outlined.Duo
-Outlined.Dvr
 Outlined.DynamicFeed
 Outlined.DynamicForm
 Outlined.EMobiledata
@@ -2752,10 +2568,8 @@
 Outlined.Event
 Outlined.EventAvailable
 Outlined.EventBusy
-Outlined.EventNote
 Outlined.EventRepeat
 Outlined.EventSeat
-Outlined.ExitToApp
 Outlined.Expand
 Outlined.ExpandCircleDown
 Outlined.ExpandLess
@@ -2780,7 +2594,6 @@
 Outlined.FaceRetouchingNatural
 Outlined.FaceRetouchingOff
 Outlined.Facebook
-Outlined.FactCheck
 Outlined.Factory
 Outlined.FamilyRestroom
 Outlined.FastForward
@@ -2789,9 +2602,6 @@
 Outlined.Favorite
 Outlined.FavoriteBorder
 Outlined.Fax
-Outlined.FeaturedPlayList
-Outlined.FeaturedVideo
-Outlined.Feed
 Outlined.Feedback
 Outlined.Female
 Outlined.Fence
@@ -2875,7 +2685,6 @@
 Outlined.FolderShared
 Outlined.FolderSpecial
 Outlined.FolderZip
-Outlined.FollowTheSigns
 Outlined.FontDownload
 Outlined.FontDownloadOff
 Outlined.FoodBank
@@ -2884,18 +2693,13 @@
 Outlined.ForkRight
 Outlined.FormatAlignCenter
 Outlined.FormatAlignJustify
-Outlined.FormatAlignLeft
-Outlined.FormatAlignRight
 Outlined.FormatBold
 Outlined.FormatClear
 Outlined.FormatColorFill
 Outlined.FormatColorReset
 Outlined.FormatColorText
-Outlined.FormatIndentDecrease
-Outlined.FormatIndentIncrease
 Outlined.FormatItalic
 Outlined.FormatLineSpacing
-Outlined.FormatListBulleted
 Outlined.FormatListNumbered
 Outlined.FormatListNumberedRtl
 Outlined.FormatOverline
@@ -2904,16 +2708,12 @@
 Outlined.FormatShapes
 Outlined.FormatSize
 Outlined.FormatStrikethrough
-Outlined.FormatTextdirectionLToR
-Outlined.FormatTextdirectionRToL
 Outlined.FormatUnderlined
 Outlined.Fort
 Outlined.Forum
-Outlined.Forward
 Outlined.Forward10
 Outlined.Forward30
 Outlined.Forward5
-Outlined.ForwardToInbox
 Outlined.Foundation
 Outlined.FreeBreakfast
 Outlined.FreeCancellation
@@ -2944,7 +2744,6 @@
 Outlined.GpsOff
 Outlined.Grade
 Outlined.Gradient
-Outlined.Grading
 Outlined.Grain
 Outlined.GraphicEq
 Outlined.Grass
@@ -2991,9 +2790,6 @@
 Outlined.HeartBroken
 Outlined.HeatPump
 Outlined.Height
-Outlined.Help
-Outlined.HelpCenter
-Outlined.HelpOutline
 Outlined.Hevc
 Outlined.Hexagon
 Outlined.HideImage
@@ -3050,11 +2846,8 @@
 Outlined.IncompleteCircle
 Outlined.IndeterminateCheckBox
 Outlined.Info
-Outlined.Input
 Outlined.InsertChart
 Outlined.InsertChartOutlined
-Outlined.InsertComment
-Outlined.InsertDriveFile
 Outlined.InsertEmoticon
 Outlined.InsertInvitation
 Outlined.InsertLink
@@ -3085,10 +2878,7 @@
 Outlined.Keyboard
 Outlined.KeyboardAlt
 Outlined.KeyboardArrowDown
-Outlined.KeyboardArrowLeft
-Outlined.KeyboardArrowRight
 Outlined.KeyboardArrowUp
-Outlined.KeyboardBackspace
 Outlined.KeyboardCapslock
 Outlined.KeyboardCommandKey
 Outlined.KeyboardControlKey
@@ -3098,15 +2888,10 @@
 Outlined.KeyboardDoubleArrowUp
 Outlined.KeyboardHide
 Outlined.KeyboardOptionKey
-Outlined.KeyboardReturn
-Outlined.KeyboardTab
 Outlined.KeyboardVoice
 Outlined.KingBed
 Outlined.Kitchen
 Outlined.Kitesurfing
-Outlined.Label
-Outlined.LabelImportant
-Outlined.LabelOff
 Outlined.Lan
 Outlined.Landscape
 Outlined.Landslide
@@ -3115,8 +2900,6 @@
 Outlined.LaptopChromebook
 Outlined.LaptopMac
 Outlined.LaptopWindows
-Outlined.LastPage
-Outlined.Launch
 Outlined.Layers
 Outlined.LayersClear
 Outlined.Leaderboard
@@ -3128,7 +2911,6 @@
 Outlined.LensBlur
 Outlined.LibraryAdd
 Outlined.LibraryAddCheck
-Outlined.LibraryBooks
 Outlined.LibraryMusic
 Outlined.Light
 Outlined.LightMode
@@ -3142,9 +2924,6 @@
 Outlined.LinkOff
 Outlined.LinkedCamera
 Outlined.Liquor
-Outlined.List
-Outlined.ListAlt
-Outlined.LiveHelp
 Outlined.LiveTv
 Outlined.Living
 Outlined.LocalActivity
@@ -3188,9 +2967,7 @@
 Outlined.LockOpen
 Outlined.LockPerson
 Outlined.LockReset
-Outlined.Login
 Outlined.LogoDev
-Outlined.Logout
 Outlined.Looks
 Outlined.Looks3
 Outlined.Looks4
@@ -3218,7 +2995,6 @@
 Outlined.Man4
 Outlined.ManageAccounts
 Outlined.ManageHistory
-Outlined.ManageSearch
 Outlined.Map
 Outlined.MapsHomeWork
 Outlined.MapsUgc
@@ -3242,11 +3018,7 @@
 Outlined.MeetingRoom
 Outlined.Memory
 Outlined.Menu
-Outlined.MenuBook
-Outlined.MenuOpen
 Outlined.Merge
-Outlined.MergeType
-Outlined.Message
 Outlined.Mic
 Outlined.MicExternalOff
 Outlined.MicExternalOn
@@ -3257,11 +3029,9 @@
 Outlined.Minimize
 Outlined.MinorCrash
 Outlined.MiscellaneousServices
-Outlined.MissedVideoCall
 Outlined.Mms
 Outlined.MobileFriendly
 Outlined.MobileOff
-Outlined.MobileScreenShare
 Outlined.MobiledataOff
 Outlined.Mode
 Outlined.ModeComment
@@ -3283,7 +3053,6 @@
 Outlined.Mood
 Outlined.MoodBad
 Outlined.Moped
-Outlined.More
 Outlined.MoreHoriz
 Outlined.MoreTime
 Outlined.MoreVert
@@ -3303,7 +3072,6 @@
 Outlined.MovieFilter
 Outlined.Moving
 Outlined.Mp
-Outlined.MultilineChart
 Outlined.MultipleStop
 Outlined.Museum
 Outlined.MusicNote
@@ -3313,8 +3081,6 @@
 Outlined.Nat
 Outlined.Nature
 Outlined.NaturePeople
-Outlined.NavigateBefore
-Outlined.NavigateNext
 Outlined.Navigation
 Outlined.NearMe
 Outlined.NearMeDisabled
@@ -3332,8 +3098,6 @@
 Outlined.NewLabel
 Outlined.NewReleases
 Outlined.Newspaper
-Outlined.NextPlan
-Outlined.NextWeek
 Outlined.Nfc
 Outlined.NightShelter
 Outlined.Nightlife
@@ -3365,12 +3129,8 @@
 Outlined.NorthWest
 Outlined.NotAccessible
 Outlined.NotInterested
-Outlined.NotListedLocation
 Outlined.NotStarted
-Outlined.Note
-Outlined.NoteAdd
 Outlined.NoteAlt
-Outlined.Notes
 Outlined.NotificationAdd
 Outlined.NotificationImportant
 Outlined.Notifications
@@ -3381,7 +3141,6 @@
 Outlined.Numbers
 Outlined.OfflineBolt
 Outlined.OfflinePin
-Outlined.OfflineShare
 Outlined.OilBarrel
 Outlined.OnDeviceTraining
 Outlined.OndemandVideo
@@ -3389,12 +3148,10 @@
 Outlined.Opacity
 Outlined.OpenInBrowser
 Outlined.OpenInFull
-Outlined.OpenInNew
 Outlined.OpenInNewOff
 Outlined.OpenWith
 Outlined.OtherHouses
 Outlined.Outbond
-Outlined.Outbound
 Outlined.Outbox
 Outlined.OutdoorGrill
 Outlined.Outlet
@@ -3469,14 +3226,11 @@
 Outlined.Phone
 Outlined.PhoneAndroid
 Outlined.PhoneBluetoothSpeaker
-Outlined.PhoneCallback
 Outlined.PhoneDisabled
 Outlined.PhoneEnabled
-Outlined.PhoneForwarded
 Outlined.PhoneInTalk
 Outlined.PhoneIphone
 Outlined.PhoneLocked
-Outlined.PhoneMissed
 Outlined.PhonePaused
 Outlined.Phonelink
 Outlined.PhonelinkErase
@@ -3518,11 +3272,8 @@
 Outlined.PlayDisabled
 Outlined.PlayForWork
 Outlined.PlayLesson
-Outlined.PlaylistAdd
-Outlined.PlaylistAddCheck
 Outlined.PlaylistAddCheckCircle
 Outlined.PlaylistAddCircle
-Outlined.PlaylistPlay
 Outlined.PlaylistRemove
 Outlined.Plumbing
 Outlined.PlusOne
@@ -3570,7 +3321,6 @@
 Outlined.QuestionAnswer
 Outlined.QuestionMark
 Outlined.Queue
-Outlined.QueueMusic
 Outlined.QueuePlayNext
 Outlined.Quickreply
 Outlined.Quiz
@@ -3586,17 +3336,14 @@
 Outlined.RateReview
 Outlined.RawOff
 Outlined.RawOn
-Outlined.ReadMore
 Outlined.RealEstateAgent
 Outlined.Receipt
-Outlined.ReceiptLong
 Outlined.RecentActors
 Outlined.Recommend
 Outlined.RecordVoiceOver
 Outlined.Rectangle
 Outlined.Recycling
 Outlined.Redeem
-Outlined.Redo
 Outlined.ReduceCapacity
 Outlined.Refresh
 Outlined.RememberMe
@@ -3620,8 +3367,6 @@
 Outlined.Replay30
 Outlined.Replay5
 Outlined.ReplayCircleFilled
-Outlined.Reply
-Outlined.ReplyAll
 Outlined.Report
 Outlined.ReportGmailerrorred
 Outlined.ReportOff
@@ -3649,8 +3394,6 @@
 Outlined.RoomService
 Outlined.Rotate90DegreesCcw
 Outlined.Rotate90DegreesCw
-Outlined.RotateLeft
-Outlined.RotateRight
 Outlined.RoundaboutLeft
 Outlined.RoundaboutRight
 Outlined.RoundedCorner
@@ -3659,8 +3402,6 @@
 Outlined.Rowing
 Outlined.RssFeed
 Outlined.Rsvp
-Outlined.Rtt
-Outlined.Rule
 Outlined.RuleFolder
 Outlined.RunCircle
 Outlined.RunningWithErrors
@@ -3680,7 +3421,6 @@
 Outlined.Scanner
 Outlined.ScatterPlot
 Outlined.Schedule
-Outlined.ScheduleSend
 Outlined.Schema
 Outlined.School
 Outlined.Science
@@ -3692,7 +3432,6 @@
 Outlined.ScreenRotation
 Outlined.ScreenRotationAlt
 Outlined.ScreenSearchDesktop
-Outlined.ScreenShare
 Outlined.Screenshot
 Outlined.ScreenshotMonitor
 Outlined.ScubaDiving
@@ -3706,14 +3445,10 @@
 Outlined.SecurityUpdate
 Outlined.SecurityUpdateGood
 Outlined.SecurityUpdateWarning
-Outlined.Segment
 Outlined.SelectAll
 Outlined.SelfImprovement
 Outlined.Sell
-Outlined.Send
-Outlined.SendAndArchive
 Outlined.SendTimeExtension
-Outlined.SendToMobile
 Outlined.SensorDoor
 Outlined.SensorOccupied
 Outlined.SensorWindow
@@ -3759,9 +3494,6 @@
 Outlined.ShoppingBasket
 Outlined.ShoppingCart
 Outlined.ShoppingCartCheckout
-Outlined.ShortText
-Outlined.Shortcut
-Outlined.ShowChart
 Outlined.Shower
 Outlined.Shuffle
 Outlined.ShuffleOn
@@ -3817,7 +3549,6 @@
 Outlined.Soap
 Outlined.SocialDistance
 Outlined.SolarPower
-Outlined.Sort
 Outlined.SortByAlpha
 Outlined.Sos
 Outlined.SoupKitchen
@@ -3834,7 +3565,6 @@
 Outlined.SpatialTracking
 Outlined.Speaker
 Outlined.SpeakerGroup
-Outlined.SpeakerNotes
 Outlined.SpeakerNotesOff
 Outlined.SpeakerPhone
 Outlined.Speed
@@ -3871,7 +3601,6 @@
 Outlined.Star
 Outlined.StarBorder
 Outlined.StarBorderPurple500
-Outlined.StarHalf
 Outlined.StarOutline
 Outlined.StarPurple500
 Outlined.StarRate
@@ -3881,10 +3610,8 @@
 Outlined.StayCurrentPortrait
 Outlined.StayPrimaryLandscape
 Outlined.StayPrimaryPortrait
-Outlined.StickyNote2
 Outlined.Stop
 Outlined.StopCircle
-Outlined.StopScreenShare
 Outlined.Storage
 Outlined.Store
 Outlined.StoreMallDirectory
@@ -3899,7 +3626,6 @@
 Outlined.Style
 Outlined.SubdirectoryArrowLeft
 Outlined.SubdirectoryArrowRight
-Outlined.Subject
 Outlined.Subscript
 Outlined.Subscriptions
 Outlined.Subtitles
@@ -3978,7 +3704,6 @@
 Outlined.TextRotationAngleup
 Outlined.TextRotationDown
 Outlined.TextRotationNone
-Outlined.TextSnippet
 Outlined.Textsms
 Outlined.Texture
 Outlined.TheaterComedy
@@ -4005,7 +3730,6 @@
 Outlined.TipsAndUpdates
 Outlined.TireRepair
 Outlined.Title
-Outlined.Toc
 Outlined.Today
 Outlined.ToggleOff
 Outlined.ToggleOn
@@ -4028,9 +3752,6 @@
 Outlined.TransitEnterexit
 Outlined.Translate
 Outlined.TravelExplore
-Outlined.TrendingDown
-Outlined.TrendingFlat
-Outlined.TrendingUp
 Outlined.TripOrigin
 Outlined.Troubleshoot
 Outlined.Try
@@ -4054,7 +3775,6 @@
 Outlined.UTurnRight
 Outlined.Umbrella
 Outlined.Unarchive
-Outlined.Undo
 Outlined.UnfoldLess
 Outlined.UnfoldLessDouble
 Outlined.UnfoldMore
@@ -4108,10 +3828,7 @@
 Outlined.ViewHeadline
 Outlined.ViewInAr
 Outlined.ViewKanban
-Outlined.ViewList
 Outlined.ViewModule
-Outlined.ViewQuilt
-Outlined.ViewSidebar
 Outlined.ViewStream
 Outlined.ViewTimeline
 Outlined.ViewWeek
@@ -4123,10 +3840,6 @@
 Outlined.VoiceOverOff
 Outlined.Voicemail
 Outlined.Volcano
-Outlined.VolumeDown
-Outlined.VolumeMute
-Outlined.VolumeOff
-Outlined.VolumeUp
 Outlined.VolunteerActivism
 Outlined.VpnKey
 Outlined.VpnKeyOff
@@ -4196,9 +3909,7 @@
 Outlined.WorkOutline
 Outlined.WorkspacePremium
 Outlined.Workspaces
-Outlined.WrapText
 Outlined.WrongLocation
-Outlined.Wysiwyg
 Outlined.Yard
 Outlined.YoutubeSearchedFor
 Outlined.ZoomIn
@@ -4231,7 +3942,6 @@
 Outlined._2mp
 Outlined._30fps
 Outlined._30fpsSelect
-Outlined._360
 Outlined._3dRotation
 Outlined._3gMobiledata
 Outlined._3k
@@ -4270,8 +3980,6 @@
 Rounded.AccessTimeFilled
 Rounded.Accessibility
 Rounded.AccessibilityNew
-Rounded.Accessible
-Rounded.AccessibleForward
 Rounded.AccountBalance
 Rounded.AccountBalanceWallet
 Rounded.AccountBox
@@ -4303,7 +4011,6 @@
 Rounded.AddShoppingCart
 Rounded.AddTask
 Rounded.AddToDrive
-Rounded.AddToHomeScreen
 Rounded.AddToPhotos
 Rounded.AddToQueue
 Rounded.Addchart
@@ -4323,7 +4030,6 @@
 Rounded.AirlineSeatReclineNormal
 Rounded.AirlineStops
 Rounded.Airlines
-Rounded.AirplaneTicket
 Rounded.AirplanemodeActive
 Rounded.AirplanemodeInactive
 Rounded.Airplay
@@ -4334,22 +4040,18 @@
 Rounded.AlarmOn
 Rounded.Album
 Rounded.AlignHorizontalCenter
-Rounded.AlignHorizontalLeft
-Rounded.AlignHorizontalRight
 Rounded.AlignVerticalBottom
 Rounded.AlignVerticalCenter
 Rounded.AlignVerticalTop
 Rounded.AllInbox
 Rounded.AllInclusive
 Rounded.AllOut
-Rounded.AltRoute
 Rounded.AlternateEmail
 Rounded.AmpStories
 Rounded.Analytics
 Rounded.Anchor
 Rounded.Android
 Rounded.Animation
-Rounded.Announcement
 Rounded.Aod
 Rounded.Apartment
 Rounded.Api
@@ -4363,8 +4065,6 @@
 Rounded.Architecture
 Rounded.Archive
 Rounded.AreaChart
-Rounded.ArrowBack
-Rounded.ArrowBackIos
 Rounded.ArrowBackIosNew
 Rounded.ArrowCircleDown
 Rounded.ArrowCircleLeft
@@ -4374,26 +4074,17 @@
 Rounded.ArrowDropDown
 Rounded.ArrowDropDownCircle
 Rounded.ArrowDropUp
-Rounded.ArrowForward
-Rounded.ArrowForwardIos
-Rounded.ArrowLeft
 Rounded.ArrowOutward
-Rounded.ArrowRight
-Rounded.ArrowRightAlt
 Rounded.ArrowUpward
 Rounded.ArtTrack
-Rounded.Article
 Rounded.AspectRatio
 Rounded.Assessment
-Rounded.Assignment
 Rounded.AssignmentInd
 Rounded.AssignmentLate
-Rounded.AssignmentReturn
 Rounded.AssignmentReturned
 Rounded.AssignmentTurnedIn
 Rounded.AssistWalker
 Rounded.Assistant
-Rounded.AssistantDirection
 Rounded.AssistantPhoto
 Rounded.AssuredWorkload
 Rounded.Atm
@@ -4421,7 +4112,6 @@
 Rounded.BabyChangingStation
 Rounded.BackHand
 Rounded.Backpack
-Rounded.Backspace
 Rounded.Backup
 Rounded.BackupTable
 Rounded.Badge
@@ -4445,7 +4135,6 @@
 Rounded.BatteryFull
 Rounded.BatterySaver
 Rounded.BatteryStd
-Rounded.BatteryUnknown
 Rounded.BeachAccess
 Rounded.Bed
 Rounded.BedroomBaby
@@ -4468,7 +4157,6 @@
 Rounded.BluetoothConnected
 Rounded.BluetoothDisabled
 Rounded.BluetoothDrive
-Rounded.BluetoothSearching
 Rounded.BlurCircular
 Rounded.BlurLinear
 Rounded.BlurOff
@@ -4495,7 +4183,6 @@
 Rounded.BorderTop
 Rounded.BorderVertical
 Rounded.Boy
-Rounded.BrandingWatermark
 Rounded.BreakfastDining
 Rounded.Brightness1
 Rounded.Brightness2
@@ -4537,12 +4224,6 @@
 Rounded.CalendarViewWeek
 Rounded.Call
 Rounded.CallEnd
-Rounded.CallMade
-Rounded.CallMerge
-Rounded.CallMissed
-Rounded.CallMissedOutgoing
-Rounded.CallReceived
-Rounded.CallSplit
 Rounded.CallToAction
 Rounded.Camera
 Rounded.CameraAlt
@@ -4584,7 +4265,6 @@
 Rounded.ChangeCircle
 Rounded.ChangeHistory
 Rounded.ChargingStation
-Rounded.Chat
 Rounded.ChatBubble
 Rounded.ChatBubbleOutline
 Rounded.Check
@@ -4599,7 +4279,6 @@
 Rounded.ChevronRight
 Rounded.ChildCare
 Rounded.ChildFriendly
-Rounded.ChromeReaderMode
 Rounded.Church
 Rounded.Circle
 Rounded.CircleNotifications
@@ -4631,13 +4310,11 @@
 Rounded.CollectionsBookmark
 Rounded.ColorLens
 Rounded.Colorize
-Rounded.Comment
 Rounded.CommentBank
 Rounded.CommentsDisabled
 Rounded.Commit
 Rounded.Commute
 Rounded.Compare
-Rounded.CompareArrows
 Rounded.CompassCalibration
 Rounded.Compost
 Rounded.Compress
@@ -4651,7 +4328,6 @@
 Rounded.ContactMail
 Rounded.ContactPage
 Rounded.ContactPhone
-Rounded.ContactSupport
 Rounded.Contactless
 Rounded.Contacts
 Rounded.ContentCopy
@@ -4754,7 +4430,6 @@
 Rounded.Dining
 Rounded.DinnerDining
 Rounded.Directions
-Rounded.DirectionsBike
 Rounded.DirectionsBoat
 Rounded.DirectionsBoatFilled
 Rounded.DirectionsBus
@@ -4764,12 +4439,10 @@
 Rounded.DirectionsOff
 Rounded.DirectionsRailway
 Rounded.DirectionsRailwayFilled
-Rounded.DirectionsRun
 Rounded.DirectionsSubway
 Rounded.DirectionsSubwayFilled
 Rounded.DirectionsTransit
 Rounded.DirectionsTransitFilled
-Rounded.DirectionsWalk
 Rounded.DirtyLens
 Rounded.DisabledByDefault
 Rounded.DisabledVisible
@@ -4817,14 +4490,12 @@
 Rounded.DragIndicator
 Rounded.Draw
 Rounded.DriveEta
-Rounded.DriveFileMove
 Rounded.DriveFileMoveRtl
 Rounded.DriveFileRenameOutline
 Rounded.DriveFolderUpload
 Rounded.Dry
 Rounded.DryCleaning
 Rounded.Duo
-Rounded.Dvr
 Rounded.DynamicFeed
 Rounded.DynamicForm
 Rounded.EMobiledata
@@ -4884,10 +4555,8 @@
 Rounded.Event
 Rounded.EventAvailable
 Rounded.EventBusy
-Rounded.EventNote
 Rounded.EventRepeat
 Rounded.EventSeat
-Rounded.ExitToApp
 Rounded.Expand
 Rounded.ExpandCircleDown
 Rounded.ExpandLess
@@ -4912,7 +4581,6 @@
 Rounded.FaceRetouchingNatural
 Rounded.FaceRetouchingOff
 Rounded.Facebook
-Rounded.FactCheck
 Rounded.Factory
 Rounded.FamilyRestroom
 Rounded.FastForward
@@ -4921,9 +4589,6 @@
 Rounded.Favorite
 Rounded.FavoriteBorder
 Rounded.Fax
-Rounded.FeaturedPlayList
-Rounded.FeaturedVideo
-Rounded.Feed
 Rounded.Feedback
 Rounded.Female
 Rounded.Fence
@@ -5007,7 +4672,6 @@
 Rounded.FolderShared
 Rounded.FolderSpecial
 Rounded.FolderZip
-Rounded.FollowTheSigns
 Rounded.FontDownload
 Rounded.FontDownloadOff
 Rounded.FoodBank
@@ -5016,18 +4680,13 @@
 Rounded.ForkRight
 Rounded.FormatAlignCenter
 Rounded.FormatAlignJustify
-Rounded.FormatAlignLeft
-Rounded.FormatAlignRight
 Rounded.FormatBold
 Rounded.FormatClear
 Rounded.FormatColorFill
 Rounded.FormatColorReset
 Rounded.FormatColorText
-Rounded.FormatIndentDecrease
-Rounded.FormatIndentIncrease
 Rounded.FormatItalic
 Rounded.FormatLineSpacing
-Rounded.FormatListBulleted
 Rounded.FormatListNumbered
 Rounded.FormatListNumberedRtl
 Rounded.FormatOverline
@@ -5036,16 +4695,12 @@
 Rounded.FormatShapes
 Rounded.FormatSize
 Rounded.FormatStrikethrough
-Rounded.FormatTextdirectionLToR
-Rounded.FormatTextdirectionRToL
 Rounded.FormatUnderlined
 Rounded.Fort
 Rounded.Forum
-Rounded.Forward
 Rounded.Forward10
 Rounded.Forward30
 Rounded.Forward5
-Rounded.ForwardToInbox
 Rounded.Foundation
 Rounded.FreeBreakfast
 Rounded.FreeCancellation
@@ -5076,7 +4731,6 @@
 Rounded.GpsOff
 Rounded.Grade
 Rounded.Gradient
-Rounded.Grading
 Rounded.Grain
 Rounded.GraphicEq
 Rounded.Grass
@@ -5123,9 +4777,6 @@
 Rounded.HeartBroken
 Rounded.HeatPump
 Rounded.Height
-Rounded.Help
-Rounded.HelpCenter
-Rounded.HelpOutline
 Rounded.Hevc
 Rounded.Hexagon
 Rounded.HideImage
@@ -5182,11 +4833,8 @@
 Rounded.IncompleteCircle
 Rounded.IndeterminateCheckBox
 Rounded.Info
-Rounded.Input
 Rounded.InsertChart
 Rounded.InsertChartOutlined
-Rounded.InsertComment
-Rounded.InsertDriveFile
 Rounded.InsertEmoticon
 Rounded.InsertInvitation
 Rounded.InsertLink
@@ -5217,10 +4865,7 @@
 Rounded.Keyboard
 Rounded.KeyboardAlt
 Rounded.KeyboardArrowDown
-Rounded.KeyboardArrowLeft
-Rounded.KeyboardArrowRight
 Rounded.KeyboardArrowUp
-Rounded.KeyboardBackspace
 Rounded.KeyboardCapslock
 Rounded.KeyboardCommandKey
 Rounded.KeyboardControlKey
@@ -5230,15 +4875,10 @@
 Rounded.KeyboardDoubleArrowUp
 Rounded.KeyboardHide
 Rounded.KeyboardOptionKey
-Rounded.KeyboardReturn
-Rounded.KeyboardTab
 Rounded.KeyboardVoice
 Rounded.KingBed
 Rounded.Kitchen
 Rounded.Kitesurfing
-Rounded.Label
-Rounded.LabelImportant
-Rounded.LabelOff
 Rounded.Lan
 Rounded.Landscape
 Rounded.Landslide
@@ -5247,8 +4887,6 @@
 Rounded.LaptopChromebook
 Rounded.LaptopMac
 Rounded.LaptopWindows
-Rounded.LastPage
-Rounded.Launch
 Rounded.Layers
 Rounded.LayersClear
 Rounded.Leaderboard
@@ -5260,7 +4898,6 @@
 Rounded.LensBlur
 Rounded.LibraryAdd
 Rounded.LibraryAddCheck
-Rounded.LibraryBooks
 Rounded.LibraryMusic
 Rounded.Light
 Rounded.LightMode
@@ -5274,9 +4911,6 @@
 Rounded.LinkOff
 Rounded.LinkedCamera
 Rounded.Liquor
-Rounded.List
-Rounded.ListAlt
-Rounded.LiveHelp
 Rounded.LiveTv
 Rounded.Living
 Rounded.LocalActivity
@@ -5320,9 +4954,7 @@
 Rounded.LockOpen
 Rounded.LockPerson
 Rounded.LockReset
-Rounded.Login
 Rounded.LogoDev
-Rounded.Logout
 Rounded.Looks
 Rounded.Looks3
 Rounded.Looks4
@@ -5350,7 +4982,6 @@
 Rounded.Man4
 Rounded.ManageAccounts
 Rounded.ManageHistory
-Rounded.ManageSearch
 Rounded.Map
 Rounded.MapsHomeWork
 Rounded.MapsUgc
@@ -5374,11 +5005,7 @@
 Rounded.MeetingRoom
 Rounded.Memory
 Rounded.Menu
-Rounded.MenuBook
-Rounded.MenuOpen
 Rounded.Merge
-Rounded.MergeType
-Rounded.Message
 Rounded.Mic
 Rounded.MicExternalOff
 Rounded.MicExternalOn
@@ -5389,11 +5016,9 @@
 Rounded.Minimize
 Rounded.MinorCrash
 Rounded.MiscellaneousServices
-Rounded.MissedVideoCall
 Rounded.Mms
 Rounded.MobileFriendly
 Rounded.MobileOff
-Rounded.MobileScreenShare
 Rounded.MobiledataOff
 Rounded.Mode
 Rounded.ModeComment
@@ -5415,7 +5040,6 @@
 Rounded.Mood
 Rounded.MoodBad
 Rounded.Moped
-Rounded.More
 Rounded.MoreHoriz
 Rounded.MoreTime
 Rounded.MoreVert
@@ -5435,7 +5059,6 @@
 Rounded.MovieFilter
 Rounded.Moving
 Rounded.Mp
-Rounded.MultilineChart
 Rounded.MultipleStop
 Rounded.Museum
 Rounded.MusicNote
@@ -5445,8 +5068,6 @@
 Rounded.Nat
 Rounded.Nature
 Rounded.NaturePeople
-Rounded.NavigateBefore
-Rounded.NavigateNext
 Rounded.Navigation
 Rounded.NearMe
 Rounded.NearMeDisabled
@@ -5464,8 +5085,6 @@
 Rounded.NewLabel
 Rounded.NewReleases
 Rounded.Newspaper
-Rounded.NextPlan
-Rounded.NextWeek
 Rounded.Nfc
 Rounded.NightShelter
 Rounded.Nightlife
@@ -5497,12 +5116,8 @@
 Rounded.NorthWest
 Rounded.NotAccessible
 Rounded.NotInterested
-Rounded.NotListedLocation
 Rounded.NotStarted
-Rounded.Note
-Rounded.NoteAdd
 Rounded.NoteAlt
-Rounded.Notes
 Rounded.NotificationAdd
 Rounded.NotificationImportant
 Rounded.Notifications
@@ -5513,7 +5128,6 @@
 Rounded.Numbers
 Rounded.OfflineBolt
 Rounded.OfflinePin
-Rounded.OfflineShare
 Rounded.OilBarrel
 Rounded.OnDeviceTraining
 Rounded.OndemandVideo
@@ -5521,12 +5135,10 @@
 Rounded.Opacity
 Rounded.OpenInBrowser
 Rounded.OpenInFull
-Rounded.OpenInNew
 Rounded.OpenInNewOff
 Rounded.OpenWith
 Rounded.OtherHouses
 Rounded.Outbond
-Rounded.Outbound
 Rounded.Outbox
 Rounded.OutdoorGrill
 Rounded.Outlet
@@ -5601,14 +5213,11 @@
 Rounded.Phone
 Rounded.PhoneAndroid
 Rounded.PhoneBluetoothSpeaker
-Rounded.PhoneCallback
 Rounded.PhoneDisabled
 Rounded.PhoneEnabled
-Rounded.PhoneForwarded
 Rounded.PhoneInTalk
 Rounded.PhoneIphone
 Rounded.PhoneLocked
-Rounded.PhoneMissed
 Rounded.PhonePaused
 Rounded.Phonelink
 Rounded.PhonelinkErase
@@ -5650,11 +5259,8 @@
 Rounded.PlayDisabled
 Rounded.PlayForWork
 Rounded.PlayLesson
-Rounded.PlaylistAdd
-Rounded.PlaylistAddCheck
 Rounded.PlaylistAddCheckCircle
 Rounded.PlaylistAddCircle
-Rounded.PlaylistPlay
 Rounded.PlaylistRemove
 Rounded.Plumbing
 Rounded.PlusOne
@@ -5702,7 +5308,6 @@
 Rounded.QuestionAnswer
 Rounded.QuestionMark
 Rounded.Queue
-Rounded.QueueMusic
 Rounded.QueuePlayNext
 Rounded.Quickreply
 Rounded.Quiz
@@ -5718,17 +5323,14 @@
 Rounded.RateReview
 Rounded.RawOff
 Rounded.RawOn
-Rounded.ReadMore
 Rounded.RealEstateAgent
 Rounded.Receipt
-Rounded.ReceiptLong
 Rounded.RecentActors
 Rounded.Recommend
 Rounded.RecordVoiceOver
 Rounded.Rectangle
 Rounded.Recycling
 Rounded.Redeem
-Rounded.Redo
 Rounded.ReduceCapacity
 Rounded.Refresh
 Rounded.RememberMe
@@ -5752,8 +5354,6 @@
 Rounded.Replay30
 Rounded.Replay5
 Rounded.ReplayCircleFilled
-Rounded.Reply
-Rounded.ReplyAll
 Rounded.Report
 Rounded.ReportGmailerrorred
 Rounded.ReportOff
@@ -5781,8 +5381,6 @@
 Rounded.RoomService
 Rounded.Rotate90DegreesCcw
 Rounded.Rotate90DegreesCw
-Rounded.RotateLeft
-Rounded.RotateRight
 Rounded.RoundaboutLeft
 Rounded.RoundaboutRight
 Rounded.RoundedCorner
@@ -5791,8 +5389,6 @@
 Rounded.Rowing
 Rounded.RssFeed
 Rounded.Rsvp
-Rounded.Rtt
-Rounded.Rule
 Rounded.RuleFolder
 Rounded.RunCircle
 Rounded.RunningWithErrors
@@ -5812,7 +5408,6 @@
 Rounded.Scanner
 Rounded.ScatterPlot
 Rounded.Schedule
-Rounded.ScheduleSend
 Rounded.Schema
 Rounded.School
 Rounded.Science
@@ -5824,7 +5419,6 @@
 Rounded.ScreenRotation
 Rounded.ScreenRotationAlt
 Rounded.ScreenSearchDesktop
-Rounded.ScreenShare
 Rounded.Screenshot
 Rounded.ScreenshotMonitor
 Rounded.ScubaDiving
@@ -5838,14 +5432,10 @@
 Rounded.SecurityUpdate
 Rounded.SecurityUpdateGood
 Rounded.SecurityUpdateWarning
-Rounded.Segment
 Rounded.SelectAll
 Rounded.SelfImprovement
 Rounded.Sell
-Rounded.Send
-Rounded.SendAndArchive
 Rounded.SendTimeExtension
-Rounded.SendToMobile
 Rounded.SensorDoor
 Rounded.SensorOccupied
 Rounded.SensorWindow
@@ -5891,9 +5481,6 @@
 Rounded.ShoppingBasket
 Rounded.ShoppingCart
 Rounded.ShoppingCartCheckout
-Rounded.ShortText
-Rounded.Shortcut
-Rounded.ShowChart
 Rounded.Shower
 Rounded.Shuffle
 Rounded.ShuffleOn
@@ -5949,7 +5536,6 @@
 Rounded.Soap
 Rounded.SocialDistance
 Rounded.SolarPower
-Rounded.Sort
 Rounded.SortByAlpha
 Rounded.Sos
 Rounded.SoupKitchen
@@ -5966,7 +5552,6 @@
 Rounded.SpatialTracking
 Rounded.Speaker
 Rounded.SpeakerGroup
-Rounded.SpeakerNotes
 Rounded.SpeakerNotesOff
 Rounded.SpeakerPhone
 Rounded.Speed
@@ -6003,7 +5588,6 @@
 Rounded.Star
 Rounded.StarBorder
 Rounded.StarBorderPurple500
-Rounded.StarHalf
 Rounded.StarOutline
 Rounded.StarPurple500
 Rounded.StarRate
@@ -6013,10 +5597,8 @@
 Rounded.StayCurrentPortrait
 Rounded.StayPrimaryLandscape
 Rounded.StayPrimaryPortrait
-Rounded.StickyNote2
 Rounded.Stop
 Rounded.StopCircle
-Rounded.StopScreenShare
 Rounded.Storage
 Rounded.Store
 Rounded.StoreMallDirectory
@@ -6031,7 +5613,6 @@
 Rounded.Style
 Rounded.SubdirectoryArrowLeft
 Rounded.SubdirectoryArrowRight
-Rounded.Subject
 Rounded.Subscript
 Rounded.Subscriptions
 Rounded.Subtitles
@@ -6110,7 +5691,6 @@
 Rounded.TextRotationAngleup
 Rounded.TextRotationDown
 Rounded.TextRotationNone
-Rounded.TextSnippet
 Rounded.Textsms
 Rounded.Texture
 Rounded.TheaterComedy
@@ -6137,7 +5717,6 @@
 Rounded.TipsAndUpdates
 Rounded.TireRepair
 Rounded.Title
-Rounded.Toc
 Rounded.Today
 Rounded.ToggleOff
 Rounded.ToggleOn
@@ -6160,9 +5739,6 @@
 Rounded.TransitEnterexit
 Rounded.Translate
 Rounded.TravelExplore
-Rounded.TrendingDown
-Rounded.TrendingFlat
-Rounded.TrendingUp
 Rounded.TripOrigin
 Rounded.Troubleshoot
 Rounded.Try
@@ -6186,7 +5762,6 @@
 Rounded.UTurnRight
 Rounded.Umbrella
 Rounded.Unarchive
-Rounded.Undo
 Rounded.UnfoldLess
 Rounded.UnfoldLessDouble
 Rounded.UnfoldMore
@@ -6240,10 +5815,7 @@
 Rounded.ViewHeadline
 Rounded.ViewInAr
 Rounded.ViewKanban
-Rounded.ViewList
 Rounded.ViewModule
-Rounded.ViewQuilt
-Rounded.ViewSidebar
 Rounded.ViewStream
 Rounded.ViewTimeline
 Rounded.ViewWeek
@@ -6255,10 +5827,6 @@
 Rounded.VoiceOverOff
 Rounded.Voicemail
 Rounded.Volcano
-Rounded.VolumeDown
-Rounded.VolumeMute
-Rounded.VolumeOff
-Rounded.VolumeUp
 Rounded.VolunteerActivism
 Rounded.VpnKey
 Rounded.VpnKeyOff
@@ -6328,9 +5896,7 @@
 Rounded.WorkOutline
 Rounded.WorkspacePremium
 Rounded.Workspaces
-Rounded.WrapText
 Rounded.WrongLocation
-Rounded.Wysiwyg
 Rounded.Yard
 Rounded.YoutubeSearchedFor
 Rounded.ZoomIn
@@ -6363,7 +5929,6 @@
 Rounded._2mp
 Rounded._30fps
 Rounded._30fpsSelect
-Rounded._360
 Rounded._3dRotation
 Rounded._3gMobiledata
 Rounded._3k
@@ -6402,8 +5967,6 @@
 Sharp.AccessTimeFilled
 Sharp.Accessibility
 Sharp.AccessibilityNew
-Sharp.Accessible
-Sharp.AccessibleForward
 Sharp.AccountBalance
 Sharp.AccountBalanceWallet
 Sharp.AccountBox
@@ -6435,7 +5998,6 @@
 Sharp.AddShoppingCart
 Sharp.AddTask
 Sharp.AddToDrive
-Sharp.AddToHomeScreen
 Sharp.AddToPhotos
 Sharp.AddToQueue
 Sharp.Addchart
@@ -6455,7 +6017,6 @@
 Sharp.AirlineSeatReclineNormal
 Sharp.AirlineStops
 Sharp.Airlines
-Sharp.AirplaneTicket
 Sharp.AirplanemodeActive
 Sharp.AirplanemodeInactive
 Sharp.Airplay
@@ -6466,22 +6027,18 @@
 Sharp.AlarmOn
 Sharp.Album
 Sharp.AlignHorizontalCenter
-Sharp.AlignHorizontalLeft
-Sharp.AlignHorizontalRight
 Sharp.AlignVerticalBottom
 Sharp.AlignVerticalCenter
 Sharp.AlignVerticalTop
 Sharp.AllInbox
 Sharp.AllInclusive
 Sharp.AllOut
-Sharp.AltRoute
 Sharp.AlternateEmail
 Sharp.AmpStories
 Sharp.Analytics
 Sharp.Anchor
 Sharp.Android
 Sharp.Animation
-Sharp.Announcement
 Sharp.Aod
 Sharp.Apartment
 Sharp.Api
@@ -6495,8 +6052,6 @@
 Sharp.Architecture
 Sharp.Archive
 Sharp.AreaChart
-Sharp.ArrowBack
-Sharp.ArrowBackIos
 Sharp.ArrowBackIosNew
 Sharp.ArrowCircleDown
 Sharp.ArrowCircleLeft
@@ -6506,26 +6061,17 @@
 Sharp.ArrowDropDown
 Sharp.ArrowDropDownCircle
 Sharp.ArrowDropUp
-Sharp.ArrowForward
-Sharp.ArrowForwardIos
-Sharp.ArrowLeft
 Sharp.ArrowOutward
-Sharp.ArrowRight
-Sharp.ArrowRightAlt
 Sharp.ArrowUpward
 Sharp.ArtTrack
-Sharp.Article
 Sharp.AspectRatio
 Sharp.Assessment
-Sharp.Assignment
 Sharp.AssignmentInd
 Sharp.AssignmentLate
-Sharp.AssignmentReturn
 Sharp.AssignmentReturned
 Sharp.AssignmentTurnedIn
 Sharp.AssistWalker
 Sharp.Assistant
-Sharp.AssistantDirection
 Sharp.AssistantPhoto
 Sharp.AssuredWorkload
 Sharp.Atm
@@ -6553,7 +6099,6 @@
 Sharp.BabyChangingStation
 Sharp.BackHand
 Sharp.Backpack
-Sharp.Backspace
 Sharp.Backup
 Sharp.BackupTable
 Sharp.Badge
@@ -6577,7 +6122,6 @@
 Sharp.BatteryFull
 Sharp.BatterySaver
 Sharp.BatteryStd
-Sharp.BatteryUnknown
 Sharp.BeachAccess
 Sharp.Bed
 Sharp.BedroomBaby
@@ -6600,7 +6144,6 @@
 Sharp.BluetoothConnected
 Sharp.BluetoothDisabled
 Sharp.BluetoothDrive
-Sharp.BluetoothSearching
 Sharp.BlurCircular
 Sharp.BlurLinear
 Sharp.BlurOff
@@ -6627,7 +6170,6 @@
 Sharp.BorderTop
 Sharp.BorderVertical
 Sharp.Boy
-Sharp.BrandingWatermark
 Sharp.BreakfastDining
 Sharp.Brightness1
 Sharp.Brightness2
@@ -6669,12 +6211,6 @@
 Sharp.CalendarViewWeek
 Sharp.Call
 Sharp.CallEnd
-Sharp.CallMade
-Sharp.CallMerge
-Sharp.CallMissed
-Sharp.CallMissedOutgoing
-Sharp.CallReceived
-Sharp.CallSplit
 Sharp.CallToAction
 Sharp.Camera
 Sharp.CameraAlt
@@ -6716,7 +6252,6 @@
 Sharp.ChangeCircle
 Sharp.ChangeHistory
 Sharp.ChargingStation
-Sharp.Chat
 Sharp.ChatBubble
 Sharp.ChatBubbleOutline
 Sharp.Check
@@ -6731,7 +6266,6 @@
 Sharp.ChevronRight
 Sharp.ChildCare
 Sharp.ChildFriendly
-Sharp.ChromeReaderMode
 Sharp.Church
 Sharp.Circle
 Sharp.CircleNotifications
@@ -6763,13 +6297,11 @@
 Sharp.CollectionsBookmark
 Sharp.ColorLens
 Sharp.Colorize
-Sharp.Comment
 Sharp.CommentBank
 Sharp.CommentsDisabled
 Sharp.Commit
 Sharp.Commute
 Sharp.Compare
-Sharp.CompareArrows
 Sharp.CompassCalibration
 Sharp.Compost
 Sharp.Compress
@@ -6783,7 +6315,6 @@
 Sharp.ContactMail
 Sharp.ContactPage
 Sharp.ContactPhone
-Sharp.ContactSupport
 Sharp.Contactless
 Sharp.Contacts
 Sharp.ContentCopy
@@ -6886,7 +6417,6 @@
 Sharp.Dining
 Sharp.DinnerDining
 Sharp.Directions
-Sharp.DirectionsBike
 Sharp.DirectionsBoat
 Sharp.DirectionsBoatFilled
 Sharp.DirectionsBus
@@ -6896,12 +6426,10 @@
 Sharp.DirectionsOff
 Sharp.DirectionsRailway
 Sharp.DirectionsRailwayFilled
-Sharp.DirectionsRun
 Sharp.DirectionsSubway
 Sharp.DirectionsSubwayFilled
 Sharp.DirectionsTransit
 Sharp.DirectionsTransitFilled
-Sharp.DirectionsWalk
 Sharp.DirtyLens
 Sharp.DisabledByDefault
 Sharp.DisabledVisible
@@ -6949,14 +6477,12 @@
 Sharp.DragIndicator
 Sharp.Draw
 Sharp.DriveEta
-Sharp.DriveFileMove
 Sharp.DriveFileMoveRtl
 Sharp.DriveFileRenameOutline
 Sharp.DriveFolderUpload
 Sharp.Dry
 Sharp.DryCleaning
 Sharp.Duo
-Sharp.Dvr
 Sharp.DynamicFeed
 Sharp.DynamicForm
 Sharp.EMobiledata
@@ -7016,10 +6542,8 @@
 Sharp.Event
 Sharp.EventAvailable
 Sharp.EventBusy
-Sharp.EventNote
 Sharp.EventRepeat
 Sharp.EventSeat
-Sharp.ExitToApp
 Sharp.Expand
 Sharp.ExpandCircleDown
 Sharp.ExpandLess
@@ -7044,7 +6568,6 @@
 Sharp.FaceRetouchingNatural
 Sharp.FaceRetouchingOff
 Sharp.Facebook
-Sharp.FactCheck
 Sharp.Factory
 Sharp.FamilyRestroom
 Sharp.FastForward
@@ -7053,9 +6576,6 @@
 Sharp.Favorite
 Sharp.FavoriteBorder
 Sharp.Fax
-Sharp.FeaturedPlayList
-Sharp.FeaturedVideo
-Sharp.Feed
 Sharp.Feedback
 Sharp.Female
 Sharp.Fence
@@ -7139,7 +6659,6 @@
 Sharp.FolderShared
 Sharp.FolderSpecial
 Sharp.FolderZip
-Sharp.FollowTheSigns
 Sharp.FontDownload
 Sharp.FontDownloadOff
 Sharp.FoodBank
@@ -7148,18 +6667,13 @@
 Sharp.ForkRight
 Sharp.FormatAlignCenter
 Sharp.FormatAlignJustify
-Sharp.FormatAlignLeft
-Sharp.FormatAlignRight
 Sharp.FormatBold
 Sharp.FormatClear
 Sharp.FormatColorFill
 Sharp.FormatColorReset
 Sharp.FormatColorText
-Sharp.FormatIndentDecrease
-Sharp.FormatIndentIncrease
 Sharp.FormatItalic
 Sharp.FormatLineSpacing
-Sharp.FormatListBulleted
 Sharp.FormatListNumbered
 Sharp.FormatListNumberedRtl
 Sharp.FormatOverline
@@ -7168,16 +6682,12 @@
 Sharp.FormatShapes
 Sharp.FormatSize
 Sharp.FormatStrikethrough
-Sharp.FormatTextdirectionLToR
-Sharp.FormatTextdirectionRToL
 Sharp.FormatUnderlined
 Sharp.Fort
 Sharp.Forum
-Sharp.Forward
 Sharp.Forward10
 Sharp.Forward30
 Sharp.Forward5
-Sharp.ForwardToInbox
 Sharp.Foundation
 Sharp.FreeBreakfast
 Sharp.FreeCancellation
@@ -7208,7 +6718,6 @@
 Sharp.GpsOff
 Sharp.Grade
 Sharp.Gradient
-Sharp.Grading
 Sharp.Grain
 Sharp.GraphicEq
 Sharp.Grass
@@ -7255,9 +6764,6 @@
 Sharp.HeartBroken
 Sharp.HeatPump
 Sharp.Height
-Sharp.Help
-Sharp.HelpCenter
-Sharp.HelpOutline
 Sharp.Hevc
 Sharp.Hexagon
 Sharp.HideImage
@@ -7314,11 +6820,8 @@
 Sharp.IncompleteCircle
 Sharp.IndeterminateCheckBox
 Sharp.Info
-Sharp.Input
 Sharp.InsertChart
 Sharp.InsertChartOutlined
-Sharp.InsertComment
-Sharp.InsertDriveFile
 Sharp.InsertEmoticon
 Sharp.InsertInvitation
 Sharp.InsertLink
@@ -7349,10 +6852,7 @@
 Sharp.Keyboard
 Sharp.KeyboardAlt
 Sharp.KeyboardArrowDown
-Sharp.KeyboardArrowLeft
-Sharp.KeyboardArrowRight
 Sharp.KeyboardArrowUp
-Sharp.KeyboardBackspace
 Sharp.KeyboardCapslock
 Sharp.KeyboardCommandKey
 Sharp.KeyboardControlKey
@@ -7362,15 +6862,10 @@
 Sharp.KeyboardDoubleArrowUp
 Sharp.KeyboardHide
 Sharp.KeyboardOptionKey
-Sharp.KeyboardReturn
-Sharp.KeyboardTab
 Sharp.KeyboardVoice
 Sharp.KingBed
 Sharp.Kitchen
 Sharp.Kitesurfing
-Sharp.Label
-Sharp.LabelImportant
-Sharp.LabelOff
 Sharp.Lan
 Sharp.Landscape
 Sharp.Landslide
@@ -7379,8 +6874,6 @@
 Sharp.LaptopChromebook
 Sharp.LaptopMac
 Sharp.LaptopWindows
-Sharp.LastPage
-Sharp.Launch
 Sharp.Layers
 Sharp.LayersClear
 Sharp.Leaderboard
@@ -7392,7 +6885,6 @@
 Sharp.LensBlur
 Sharp.LibraryAdd
 Sharp.LibraryAddCheck
-Sharp.LibraryBooks
 Sharp.LibraryMusic
 Sharp.Light
 Sharp.LightMode
@@ -7406,9 +6898,6 @@
 Sharp.LinkOff
 Sharp.LinkedCamera
 Sharp.Liquor
-Sharp.List
-Sharp.ListAlt
-Sharp.LiveHelp
 Sharp.LiveTv
 Sharp.Living
 Sharp.LocalActivity
@@ -7452,9 +6941,7 @@
 Sharp.LockOpen
 Sharp.LockPerson
 Sharp.LockReset
-Sharp.Login
 Sharp.LogoDev
-Sharp.Logout
 Sharp.Looks
 Sharp.Looks3
 Sharp.Looks4
@@ -7482,7 +6969,6 @@
 Sharp.Man4
 Sharp.ManageAccounts
 Sharp.ManageHistory
-Sharp.ManageSearch
 Sharp.Map
 Sharp.MapsHomeWork
 Sharp.MapsUgc
@@ -7506,11 +6992,7 @@
 Sharp.MeetingRoom
 Sharp.Memory
 Sharp.Menu
-Sharp.MenuBook
-Sharp.MenuOpen
 Sharp.Merge
-Sharp.MergeType
-Sharp.Message
 Sharp.Mic
 Sharp.MicExternalOff
 Sharp.MicExternalOn
@@ -7521,11 +7003,9 @@
 Sharp.Minimize
 Sharp.MinorCrash
 Sharp.MiscellaneousServices
-Sharp.MissedVideoCall
 Sharp.Mms
 Sharp.MobileFriendly
 Sharp.MobileOff
-Sharp.MobileScreenShare
 Sharp.MobiledataOff
 Sharp.Mode
 Sharp.ModeComment
@@ -7547,7 +7027,6 @@
 Sharp.Mood
 Sharp.MoodBad
 Sharp.Moped
-Sharp.More
 Sharp.MoreHoriz
 Sharp.MoreTime
 Sharp.MoreVert
@@ -7567,7 +7046,6 @@
 Sharp.MovieFilter
 Sharp.Moving
 Sharp.Mp
-Sharp.MultilineChart
 Sharp.MultipleStop
 Sharp.Museum
 Sharp.MusicNote
@@ -7577,8 +7055,6 @@
 Sharp.Nat
 Sharp.Nature
 Sharp.NaturePeople
-Sharp.NavigateBefore
-Sharp.NavigateNext
 Sharp.Navigation
 Sharp.NearMe
 Sharp.NearMeDisabled
@@ -7596,8 +7072,6 @@
 Sharp.NewLabel
 Sharp.NewReleases
 Sharp.Newspaper
-Sharp.NextPlan
-Sharp.NextWeek
 Sharp.Nfc
 Sharp.NightShelter
 Sharp.Nightlife
@@ -7629,12 +7103,8 @@
 Sharp.NorthWest
 Sharp.NotAccessible
 Sharp.NotInterested
-Sharp.NotListedLocation
 Sharp.NotStarted
-Sharp.Note
-Sharp.NoteAdd
 Sharp.NoteAlt
-Sharp.Notes
 Sharp.NotificationAdd
 Sharp.NotificationImportant
 Sharp.Notifications
@@ -7645,7 +7115,6 @@
 Sharp.Numbers
 Sharp.OfflineBolt
 Sharp.OfflinePin
-Sharp.OfflineShare
 Sharp.OilBarrel
 Sharp.OnDeviceTraining
 Sharp.OndemandVideo
@@ -7653,12 +7122,10 @@
 Sharp.Opacity
 Sharp.OpenInBrowser
 Sharp.OpenInFull
-Sharp.OpenInNew
 Sharp.OpenInNewOff
 Sharp.OpenWith
 Sharp.OtherHouses
 Sharp.Outbond
-Sharp.Outbound
 Sharp.Outbox
 Sharp.OutdoorGrill
 Sharp.Outlet
@@ -7733,14 +7200,11 @@
 Sharp.Phone
 Sharp.PhoneAndroid
 Sharp.PhoneBluetoothSpeaker
-Sharp.PhoneCallback
 Sharp.PhoneDisabled
 Sharp.PhoneEnabled
-Sharp.PhoneForwarded
 Sharp.PhoneInTalk
 Sharp.PhoneIphone
 Sharp.PhoneLocked
-Sharp.PhoneMissed
 Sharp.PhonePaused
 Sharp.Phonelink
 Sharp.PhonelinkErase
@@ -7782,11 +7246,8 @@
 Sharp.PlayDisabled
 Sharp.PlayForWork
 Sharp.PlayLesson
-Sharp.PlaylistAdd
-Sharp.PlaylistAddCheck
 Sharp.PlaylistAddCheckCircle
 Sharp.PlaylistAddCircle
-Sharp.PlaylistPlay
 Sharp.PlaylistRemove
 Sharp.Plumbing
 Sharp.PlusOne
@@ -7834,7 +7295,6 @@
 Sharp.QuestionAnswer
 Sharp.QuestionMark
 Sharp.Queue
-Sharp.QueueMusic
 Sharp.QueuePlayNext
 Sharp.Quickreply
 Sharp.Quiz
@@ -7850,17 +7310,14 @@
 Sharp.RateReview
 Sharp.RawOff
 Sharp.RawOn
-Sharp.ReadMore
 Sharp.RealEstateAgent
 Sharp.Receipt
-Sharp.ReceiptLong
 Sharp.RecentActors
 Sharp.Recommend
 Sharp.RecordVoiceOver
 Sharp.Rectangle
 Sharp.Recycling
 Sharp.Redeem
-Sharp.Redo
 Sharp.ReduceCapacity
 Sharp.Refresh
 Sharp.RememberMe
@@ -7884,8 +7341,6 @@
 Sharp.Replay30
 Sharp.Replay5
 Sharp.ReplayCircleFilled
-Sharp.Reply
-Sharp.ReplyAll
 Sharp.Report
 Sharp.ReportGmailerrorred
 Sharp.ReportOff
@@ -7913,8 +7368,6 @@
 Sharp.RoomService
 Sharp.Rotate90DegreesCcw
 Sharp.Rotate90DegreesCw
-Sharp.RotateLeft
-Sharp.RotateRight
 Sharp.RoundaboutLeft
 Sharp.RoundaboutRight
 Sharp.RoundedCorner
@@ -7923,8 +7376,6 @@
 Sharp.Rowing
 Sharp.RssFeed
 Sharp.Rsvp
-Sharp.Rtt
-Sharp.Rule
 Sharp.RuleFolder
 Sharp.RunCircle
 Sharp.RunningWithErrors
@@ -7944,7 +7395,6 @@
 Sharp.Scanner
 Sharp.ScatterPlot
 Sharp.Schedule
-Sharp.ScheduleSend
 Sharp.Schema
 Sharp.School
 Sharp.Science
@@ -7956,7 +7406,6 @@
 Sharp.ScreenRotation
 Sharp.ScreenRotationAlt
 Sharp.ScreenSearchDesktop
-Sharp.ScreenShare
 Sharp.Screenshot
 Sharp.ScreenshotMonitor
 Sharp.ScubaDiving
@@ -7970,14 +7419,10 @@
 Sharp.SecurityUpdate
 Sharp.SecurityUpdateGood
 Sharp.SecurityUpdateWarning
-Sharp.Segment
 Sharp.SelectAll
 Sharp.SelfImprovement
 Sharp.Sell
-Sharp.Send
-Sharp.SendAndArchive
 Sharp.SendTimeExtension
-Sharp.SendToMobile
 Sharp.SensorDoor
 Sharp.SensorOccupied
 Sharp.SensorWindow
@@ -8023,9 +7468,6 @@
 Sharp.ShoppingBasket
 Sharp.ShoppingCart
 Sharp.ShoppingCartCheckout
-Sharp.ShortText
-Sharp.Shortcut
-Sharp.ShowChart
 Sharp.Shower
 Sharp.Shuffle
 Sharp.ShuffleOn
@@ -8081,7 +7523,6 @@
 Sharp.Soap
 Sharp.SocialDistance
 Sharp.SolarPower
-Sharp.Sort
 Sharp.SortByAlpha
 Sharp.Sos
 Sharp.SoupKitchen
@@ -8098,7 +7539,6 @@
 Sharp.SpatialTracking
 Sharp.Speaker
 Sharp.SpeakerGroup
-Sharp.SpeakerNotes
 Sharp.SpeakerNotesOff
 Sharp.SpeakerPhone
 Sharp.Speed
@@ -8135,7 +7575,6 @@
 Sharp.Star
 Sharp.StarBorder
 Sharp.StarBorderPurple500
-Sharp.StarHalf
 Sharp.StarOutline
 Sharp.StarPurple500
 Sharp.StarRate
@@ -8145,10 +7584,8 @@
 Sharp.StayCurrentPortrait
 Sharp.StayPrimaryLandscape
 Sharp.StayPrimaryPortrait
-Sharp.StickyNote2
 Sharp.Stop
 Sharp.StopCircle
-Sharp.StopScreenShare
 Sharp.Storage
 Sharp.Store
 Sharp.StoreMallDirectory
@@ -8163,7 +7600,6 @@
 Sharp.Style
 Sharp.SubdirectoryArrowLeft
 Sharp.SubdirectoryArrowRight
-Sharp.Subject
 Sharp.Subscript
 Sharp.Subscriptions
 Sharp.Subtitles
@@ -8242,7 +7678,6 @@
 Sharp.TextRotationAngleup
 Sharp.TextRotationDown
 Sharp.TextRotationNone
-Sharp.TextSnippet
 Sharp.Textsms
 Sharp.Texture
 Sharp.TheaterComedy
@@ -8269,7 +7704,6 @@
 Sharp.TipsAndUpdates
 Sharp.TireRepair
 Sharp.Title
-Sharp.Toc
 Sharp.Today
 Sharp.ToggleOff
 Sharp.ToggleOn
@@ -8292,9 +7726,6 @@
 Sharp.TransitEnterexit
 Sharp.Translate
 Sharp.TravelExplore
-Sharp.TrendingDown
-Sharp.TrendingFlat
-Sharp.TrendingUp
 Sharp.TripOrigin
 Sharp.Troubleshoot
 Sharp.Try
@@ -8318,7 +7749,6 @@
 Sharp.UTurnRight
 Sharp.Umbrella
 Sharp.Unarchive
-Sharp.Undo
 Sharp.UnfoldLess
 Sharp.UnfoldLessDouble
 Sharp.UnfoldMore
@@ -8372,10 +7802,7 @@
 Sharp.ViewHeadline
 Sharp.ViewInAr
 Sharp.ViewKanban
-Sharp.ViewList
 Sharp.ViewModule
-Sharp.ViewQuilt
-Sharp.ViewSidebar
 Sharp.ViewStream
 Sharp.ViewTimeline
 Sharp.ViewWeek
@@ -8387,10 +7814,6 @@
 Sharp.VoiceOverOff
 Sharp.Voicemail
 Sharp.Volcano
-Sharp.VolumeDown
-Sharp.VolumeMute
-Sharp.VolumeOff
-Sharp.VolumeUp
 Sharp.VolunteerActivism
 Sharp.VpnKey
 Sharp.VpnKeyOff
@@ -8460,9 +7883,7 @@
 Sharp.WorkOutline
 Sharp.WorkspacePremium
 Sharp.Workspaces
-Sharp.WrapText
 Sharp.WrongLocation
-Sharp.Wysiwyg
 Sharp.Yard
 Sharp.YoutubeSearchedFor
 Sharp.ZoomIn
@@ -8495,7 +7916,6 @@
 Sharp._2mp
 Sharp._30fps
 Sharp._30fpsSelect
-Sharp._360
 Sharp._3dRotation
 Sharp._3gMobiledata
 Sharp._3k
@@ -8534,8 +7954,6 @@
 TwoTone.AccessTimeFilled
 TwoTone.Accessibility
 TwoTone.AccessibilityNew
-TwoTone.Accessible
-TwoTone.AccessibleForward
 TwoTone.AccountBalance
 TwoTone.AccountBalanceWallet
 TwoTone.AccountBox
@@ -8567,7 +7985,6 @@
 TwoTone.AddShoppingCart
 TwoTone.AddTask
 TwoTone.AddToDrive
-TwoTone.AddToHomeScreen
 TwoTone.AddToPhotos
 TwoTone.AddToQueue
 TwoTone.Addchart
@@ -8587,7 +8004,6 @@
 TwoTone.AirlineSeatReclineNormal
 TwoTone.AirlineStops
 TwoTone.Airlines
-TwoTone.AirplaneTicket
 TwoTone.AirplanemodeActive
 TwoTone.AirplanemodeInactive
 TwoTone.Airplay
@@ -8598,22 +8014,18 @@
 TwoTone.AlarmOn
 TwoTone.Album
 TwoTone.AlignHorizontalCenter
-TwoTone.AlignHorizontalLeft
-TwoTone.AlignHorizontalRight
 TwoTone.AlignVerticalBottom
 TwoTone.AlignVerticalCenter
 TwoTone.AlignVerticalTop
 TwoTone.AllInbox
 TwoTone.AllInclusive
 TwoTone.AllOut
-TwoTone.AltRoute
 TwoTone.AlternateEmail
 TwoTone.AmpStories
 TwoTone.Analytics
 TwoTone.Anchor
 TwoTone.Android
 TwoTone.Animation
-TwoTone.Announcement
 TwoTone.Aod
 TwoTone.Apartment
 TwoTone.Api
@@ -8627,8 +8039,6 @@
 TwoTone.Architecture
 TwoTone.Archive
 TwoTone.AreaChart
-TwoTone.ArrowBack
-TwoTone.ArrowBackIos
 TwoTone.ArrowBackIosNew
 TwoTone.ArrowCircleDown
 TwoTone.ArrowCircleLeft
@@ -8638,26 +8048,17 @@
 TwoTone.ArrowDropDown
 TwoTone.ArrowDropDownCircle
 TwoTone.ArrowDropUp
-TwoTone.ArrowForward
-TwoTone.ArrowForwardIos
-TwoTone.ArrowLeft
 TwoTone.ArrowOutward
-TwoTone.ArrowRight
-TwoTone.ArrowRightAlt
 TwoTone.ArrowUpward
 TwoTone.ArtTrack
-TwoTone.Article
 TwoTone.AspectRatio
 TwoTone.Assessment
-TwoTone.Assignment
 TwoTone.AssignmentInd
 TwoTone.AssignmentLate
-TwoTone.AssignmentReturn
 TwoTone.AssignmentReturned
 TwoTone.AssignmentTurnedIn
 TwoTone.AssistWalker
 TwoTone.Assistant
-TwoTone.AssistantDirection
 TwoTone.AssistantPhoto
 TwoTone.AssuredWorkload
 TwoTone.Atm
@@ -8685,7 +8086,6 @@
 TwoTone.BabyChangingStation
 TwoTone.BackHand
 TwoTone.Backpack
-TwoTone.Backspace
 TwoTone.Backup
 TwoTone.BackupTable
 TwoTone.Badge
@@ -8709,7 +8109,6 @@
 TwoTone.BatteryFull
 TwoTone.BatterySaver
 TwoTone.BatteryStd
-TwoTone.BatteryUnknown
 TwoTone.BeachAccess
 TwoTone.Bed
 TwoTone.BedroomBaby
@@ -8732,7 +8131,6 @@
 TwoTone.BluetoothConnected
 TwoTone.BluetoothDisabled
 TwoTone.BluetoothDrive
-TwoTone.BluetoothSearching
 TwoTone.BlurCircular
 TwoTone.BlurLinear
 TwoTone.BlurOff
@@ -8759,7 +8157,6 @@
 TwoTone.BorderTop
 TwoTone.BorderVertical
 TwoTone.Boy
-TwoTone.BrandingWatermark
 TwoTone.BreakfastDining
 TwoTone.Brightness1
 TwoTone.Brightness2
@@ -8801,12 +8198,6 @@
 TwoTone.CalendarViewWeek
 TwoTone.Call
 TwoTone.CallEnd
-TwoTone.CallMade
-TwoTone.CallMerge
-TwoTone.CallMissed
-TwoTone.CallMissedOutgoing
-TwoTone.CallReceived
-TwoTone.CallSplit
 TwoTone.CallToAction
 TwoTone.Camera
 TwoTone.CameraAlt
@@ -8848,7 +8239,6 @@
 TwoTone.ChangeCircle
 TwoTone.ChangeHistory
 TwoTone.ChargingStation
-TwoTone.Chat
 TwoTone.ChatBubble
 TwoTone.ChatBubbleOutline
 TwoTone.Check
@@ -8863,7 +8253,6 @@
 TwoTone.ChevronRight
 TwoTone.ChildCare
 TwoTone.ChildFriendly
-TwoTone.ChromeReaderMode
 TwoTone.Church
 TwoTone.Circle
 TwoTone.CircleNotifications
@@ -8895,13 +8284,11 @@
 TwoTone.CollectionsBookmark
 TwoTone.ColorLens
 TwoTone.Colorize
-TwoTone.Comment
 TwoTone.CommentBank
 TwoTone.CommentsDisabled
 TwoTone.Commit
 TwoTone.Commute
 TwoTone.Compare
-TwoTone.CompareArrows
 TwoTone.CompassCalibration
 TwoTone.Compost
 TwoTone.Compress
@@ -8915,7 +8302,6 @@
 TwoTone.ContactMail
 TwoTone.ContactPage
 TwoTone.ContactPhone
-TwoTone.ContactSupport
 TwoTone.Contactless
 TwoTone.Contacts
 TwoTone.ContentCopy
@@ -9018,7 +8404,6 @@
 TwoTone.Dining
 TwoTone.DinnerDining
 TwoTone.Directions
-TwoTone.DirectionsBike
 TwoTone.DirectionsBoat
 TwoTone.DirectionsBoatFilled
 TwoTone.DirectionsBus
@@ -9028,12 +8413,10 @@
 TwoTone.DirectionsOff
 TwoTone.DirectionsRailway
 TwoTone.DirectionsRailwayFilled
-TwoTone.DirectionsRun
 TwoTone.DirectionsSubway
 TwoTone.DirectionsSubwayFilled
 TwoTone.DirectionsTransit
 TwoTone.DirectionsTransitFilled
-TwoTone.DirectionsWalk
 TwoTone.DirtyLens
 TwoTone.DisabledByDefault
 TwoTone.DisabledVisible
@@ -9081,14 +8464,12 @@
 TwoTone.DragIndicator
 TwoTone.Draw
 TwoTone.DriveEta
-TwoTone.DriveFileMove
 TwoTone.DriveFileMoveRtl
 TwoTone.DriveFileRenameOutline
 TwoTone.DriveFolderUpload
 TwoTone.Dry
 TwoTone.DryCleaning
 TwoTone.Duo
-TwoTone.Dvr
 TwoTone.DynamicFeed
 TwoTone.DynamicForm
 TwoTone.EMobiledata
@@ -9148,10 +8529,8 @@
 TwoTone.Event
 TwoTone.EventAvailable
 TwoTone.EventBusy
-TwoTone.EventNote
 TwoTone.EventRepeat
 TwoTone.EventSeat
-TwoTone.ExitToApp
 TwoTone.Expand
 TwoTone.ExpandCircleDown
 TwoTone.ExpandLess
@@ -9176,7 +8555,6 @@
 TwoTone.FaceRetouchingNatural
 TwoTone.FaceRetouchingOff
 TwoTone.Facebook
-TwoTone.FactCheck
 TwoTone.Factory
 TwoTone.FamilyRestroom
 TwoTone.FastForward
@@ -9185,9 +8563,6 @@
 TwoTone.Favorite
 TwoTone.FavoriteBorder
 TwoTone.Fax
-TwoTone.FeaturedPlayList
-TwoTone.FeaturedVideo
-TwoTone.Feed
 TwoTone.Feedback
 TwoTone.Female
 TwoTone.Fence
@@ -9271,7 +8646,6 @@
 TwoTone.FolderShared
 TwoTone.FolderSpecial
 TwoTone.FolderZip
-TwoTone.FollowTheSigns
 TwoTone.FontDownload
 TwoTone.FontDownloadOff
 TwoTone.FoodBank
@@ -9280,18 +8654,13 @@
 TwoTone.ForkRight
 TwoTone.FormatAlignCenter
 TwoTone.FormatAlignJustify
-TwoTone.FormatAlignLeft
-TwoTone.FormatAlignRight
 TwoTone.FormatBold
 TwoTone.FormatClear
 TwoTone.FormatColorFill
 TwoTone.FormatColorReset
 TwoTone.FormatColorText
-TwoTone.FormatIndentDecrease
-TwoTone.FormatIndentIncrease
 TwoTone.FormatItalic
 TwoTone.FormatLineSpacing
-TwoTone.FormatListBulleted
 TwoTone.FormatListNumbered
 TwoTone.FormatListNumberedRtl
 TwoTone.FormatOverline
@@ -9300,16 +8669,12 @@
 TwoTone.FormatShapes
 TwoTone.FormatSize
 TwoTone.FormatStrikethrough
-TwoTone.FormatTextdirectionLToR
-TwoTone.FormatTextdirectionRToL
 TwoTone.FormatUnderlined
 TwoTone.Fort
 TwoTone.Forum
-TwoTone.Forward
 TwoTone.Forward10
 TwoTone.Forward30
 TwoTone.Forward5
-TwoTone.ForwardToInbox
 TwoTone.Foundation
 TwoTone.FreeBreakfast
 TwoTone.FreeCancellation
@@ -9340,7 +8705,6 @@
 TwoTone.GpsOff
 TwoTone.Grade
 TwoTone.Gradient
-TwoTone.Grading
 TwoTone.Grain
 TwoTone.GraphicEq
 TwoTone.Grass
@@ -9387,9 +8751,6 @@
 TwoTone.HeartBroken
 TwoTone.HeatPump
 TwoTone.Height
-TwoTone.Help
-TwoTone.HelpCenter
-TwoTone.HelpOutline
 TwoTone.Hevc
 TwoTone.Hexagon
 TwoTone.HideImage
@@ -9446,11 +8807,8 @@
 TwoTone.IncompleteCircle
 TwoTone.IndeterminateCheckBox
 TwoTone.Info
-TwoTone.Input
 TwoTone.InsertChart
 TwoTone.InsertChartOutlined
-TwoTone.InsertComment
-TwoTone.InsertDriveFile
 TwoTone.InsertEmoticon
 TwoTone.InsertInvitation
 TwoTone.InsertLink
@@ -9481,10 +8839,7 @@
 TwoTone.Keyboard
 TwoTone.KeyboardAlt
 TwoTone.KeyboardArrowDown
-TwoTone.KeyboardArrowLeft
-TwoTone.KeyboardArrowRight
 TwoTone.KeyboardArrowUp
-TwoTone.KeyboardBackspace
 TwoTone.KeyboardCapslock
 TwoTone.KeyboardCommandKey
 TwoTone.KeyboardControlKey
@@ -9494,15 +8849,10 @@
 TwoTone.KeyboardDoubleArrowUp
 TwoTone.KeyboardHide
 TwoTone.KeyboardOptionKey
-TwoTone.KeyboardReturn
-TwoTone.KeyboardTab
 TwoTone.KeyboardVoice
 TwoTone.KingBed
 TwoTone.Kitchen
 TwoTone.Kitesurfing
-TwoTone.Label
-TwoTone.LabelImportant
-TwoTone.LabelOff
 TwoTone.Lan
 TwoTone.Landscape
 TwoTone.Landslide
@@ -9511,8 +8861,6 @@
 TwoTone.LaptopChromebook
 TwoTone.LaptopMac
 TwoTone.LaptopWindows
-TwoTone.LastPage
-TwoTone.Launch
 TwoTone.Layers
 TwoTone.LayersClear
 TwoTone.Leaderboard
@@ -9524,7 +8872,6 @@
 TwoTone.LensBlur
 TwoTone.LibraryAdd
 TwoTone.LibraryAddCheck
-TwoTone.LibraryBooks
 TwoTone.LibraryMusic
 TwoTone.Light
 TwoTone.LightMode
@@ -9538,9 +8885,6 @@
 TwoTone.LinkOff
 TwoTone.LinkedCamera
 TwoTone.Liquor
-TwoTone.List
-TwoTone.ListAlt
-TwoTone.LiveHelp
 TwoTone.LiveTv
 TwoTone.Living
 TwoTone.LocalActivity
@@ -9584,9 +8928,7 @@
 TwoTone.LockOpen
 TwoTone.LockPerson
 TwoTone.LockReset
-TwoTone.Login
 TwoTone.LogoDev
-TwoTone.Logout
 TwoTone.Looks
 TwoTone.Looks3
 TwoTone.Looks4
@@ -9614,7 +8956,6 @@
 TwoTone.Man4
 TwoTone.ManageAccounts
 TwoTone.ManageHistory
-TwoTone.ManageSearch
 TwoTone.Map
 TwoTone.MapsHomeWork
 TwoTone.MapsUgc
@@ -9638,11 +8979,7 @@
 TwoTone.MeetingRoom
 TwoTone.Memory
 TwoTone.Menu
-TwoTone.MenuBook
-TwoTone.MenuOpen
 TwoTone.Merge
-TwoTone.MergeType
-TwoTone.Message
 TwoTone.Mic
 TwoTone.MicExternalOff
 TwoTone.MicExternalOn
@@ -9653,11 +8990,9 @@
 TwoTone.Minimize
 TwoTone.MinorCrash
 TwoTone.MiscellaneousServices
-TwoTone.MissedVideoCall
 TwoTone.Mms
 TwoTone.MobileFriendly
 TwoTone.MobileOff
-TwoTone.MobileScreenShare
 TwoTone.MobiledataOff
 TwoTone.Mode
 TwoTone.ModeComment
@@ -9679,7 +9014,6 @@
 TwoTone.Mood
 TwoTone.MoodBad
 TwoTone.Moped
-TwoTone.More
 TwoTone.MoreHoriz
 TwoTone.MoreTime
 TwoTone.MoreVert
@@ -9699,7 +9033,6 @@
 TwoTone.MovieFilter
 TwoTone.Moving
 TwoTone.Mp
-TwoTone.MultilineChart
 TwoTone.MultipleStop
 TwoTone.Museum
 TwoTone.MusicNote
@@ -9709,8 +9042,6 @@
 TwoTone.Nat
 TwoTone.Nature
 TwoTone.NaturePeople
-TwoTone.NavigateBefore
-TwoTone.NavigateNext
 TwoTone.Navigation
 TwoTone.NearMe
 TwoTone.NearMeDisabled
@@ -9728,8 +9059,6 @@
 TwoTone.NewLabel
 TwoTone.NewReleases
 TwoTone.Newspaper
-TwoTone.NextPlan
-TwoTone.NextWeek
 TwoTone.Nfc
 TwoTone.NightShelter
 TwoTone.Nightlife
@@ -9761,12 +9090,8 @@
 TwoTone.NorthWest
 TwoTone.NotAccessible
 TwoTone.NotInterested
-TwoTone.NotListedLocation
 TwoTone.NotStarted
-TwoTone.Note
-TwoTone.NoteAdd
 TwoTone.NoteAlt
-TwoTone.Notes
 TwoTone.NotificationAdd
 TwoTone.NotificationImportant
 TwoTone.Notifications
@@ -9777,7 +9102,6 @@
 TwoTone.Numbers
 TwoTone.OfflineBolt
 TwoTone.OfflinePin
-TwoTone.OfflineShare
 TwoTone.OilBarrel
 TwoTone.OnDeviceTraining
 TwoTone.OndemandVideo
@@ -9785,12 +9109,10 @@
 TwoTone.Opacity
 TwoTone.OpenInBrowser
 TwoTone.OpenInFull
-TwoTone.OpenInNew
 TwoTone.OpenInNewOff
 TwoTone.OpenWith
 TwoTone.OtherHouses
 TwoTone.Outbond
-TwoTone.Outbound
 TwoTone.Outbox
 TwoTone.OutdoorGrill
 TwoTone.Outlet
@@ -9865,14 +9187,11 @@
 TwoTone.Phone
 TwoTone.PhoneAndroid
 TwoTone.PhoneBluetoothSpeaker
-TwoTone.PhoneCallback
 TwoTone.PhoneDisabled
 TwoTone.PhoneEnabled
-TwoTone.PhoneForwarded
 TwoTone.PhoneInTalk
 TwoTone.PhoneIphone
 TwoTone.PhoneLocked
-TwoTone.PhoneMissed
 TwoTone.PhonePaused
 TwoTone.Phonelink
 TwoTone.PhonelinkErase
@@ -9914,11 +9233,8 @@
 TwoTone.PlayDisabled
 TwoTone.PlayForWork
 TwoTone.PlayLesson
-TwoTone.PlaylistAdd
-TwoTone.PlaylistAddCheck
 TwoTone.PlaylistAddCheckCircle
 TwoTone.PlaylistAddCircle
-TwoTone.PlaylistPlay
 TwoTone.PlaylistRemove
 TwoTone.Plumbing
 TwoTone.PlusOne
@@ -9966,7 +9282,6 @@
 TwoTone.QuestionAnswer
 TwoTone.QuestionMark
 TwoTone.Queue
-TwoTone.QueueMusic
 TwoTone.QueuePlayNext
 TwoTone.Quickreply
 TwoTone.Quiz
@@ -9982,17 +9297,14 @@
 TwoTone.RateReview
 TwoTone.RawOff
 TwoTone.RawOn
-TwoTone.ReadMore
 TwoTone.RealEstateAgent
 TwoTone.Receipt
-TwoTone.ReceiptLong
 TwoTone.RecentActors
 TwoTone.Recommend
 TwoTone.RecordVoiceOver
 TwoTone.Rectangle
 TwoTone.Recycling
 TwoTone.Redeem
-TwoTone.Redo
 TwoTone.ReduceCapacity
 TwoTone.Refresh
 TwoTone.RememberMe
@@ -10016,8 +9328,6 @@
 TwoTone.Replay30
 TwoTone.Replay5
 TwoTone.ReplayCircleFilled
-TwoTone.Reply
-TwoTone.ReplyAll
 TwoTone.Report
 TwoTone.ReportGmailerrorred
 TwoTone.ReportOff
@@ -10045,8 +9355,6 @@
 TwoTone.RoomService
 TwoTone.Rotate90DegreesCcw
 TwoTone.Rotate90DegreesCw
-TwoTone.RotateLeft
-TwoTone.RotateRight
 TwoTone.RoundaboutLeft
 TwoTone.RoundaboutRight
 TwoTone.RoundedCorner
@@ -10055,8 +9363,6 @@
 TwoTone.Rowing
 TwoTone.RssFeed
 TwoTone.Rsvp
-TwoTone.Rtt
-TwoTone.Rule
 TwoTone.RuleFolder
 TwoTone.RunCircle
 TwoTone.RunningWithErrors
@@ -10076,7 +9382,6 @@
 TwoTone.Scanner
 TwoTone.ScatterPlot
 TwoTone.Schedule
-TwoTone.ScheduleSend
 TwoTone.Schema
 TwoTone.School
 TwoTone.Science
@@ -10088,7 +9393,6 @@
 TwoTone.ScreenRotation
 TwoTone.ScreenRotationAlt
 TwoTone.ScreenSearchDesktop
-TwoTone.ScreenShare
 TwoTone.Screenshot
 TwoTone.ScreenshotMonitor
 TwoTone.ScubaDiving
@@ -10102,14 +9406,10 @@
 TwoTone.SecurityUpdate
 TwoTone.SecurityUpdateGood
 TwoTone.SecurityUpdateWarning
-TwoTone.Segment
 TwoTone.SelectAll
 TwoTone.SelfImprovement
 TwoTone.Sell
-TwoTone.Send
-TwoTone.SendAndArchive
 TwoTone.SendTimeExtension
-TwoTone.SendToMobile
 TwoTone.SensorDoor
 TwoTone.SensorOccupied
 TwoTone.SensorWindow
@@ -10155,9 +9455,6 @@
 TwoTone.ShoppingBasket
 TwoTone.ShoppingCart
 TwoTone.ShoppingCartCheckout
-TwoTone.ShortText
-TwoTone.Shortcut
-TwoTone.ShowChart
 TwoTone.Shower
 TwoTone.Shuffle
 TwoTone.ShuffleOn
@@ -10213,7 +9510,6 @@
 TwoTone.Soap
 TwoTone.SocialDistance
 TwoTone.SolarPower
-TwoTone.Sort
 TwoTone.SortByAlpha
 TwoTone.Sos
 TwoTone.SoupKitchen
@@ -10230,7 +9526,6 @@
 TwoTone.SpatialTracking
 TwoTone.Speaker
 TwoTone.SpeakerGroup
-TwoTone.SpeakerNotes
 TwoTone.SpeakerNotesOff
 TwoTone.SpeakerPhone
 TwoTone.Speed
@@ -10267,7 +9562,6 @@
 TwoTone.Star
 TwoTone.StarBorder
 TwoTone.StarBorderPurple500
-TwoTone.StarHalf
 TwoTone.StarOutline
 TwoTone.StarPurple500
 TwoTone.StarRate
@@ -10277,10 +9571,8 @@
 TwoTone.StayCurrentPortrait
 TwoTone.StayPrimaryLandscape
 TwoTone.StayPrimaryPortrait
-TwoTone.StickyNote2
 TwoTone.Stop
 TwoTone.StopCircle
-TwoTone.StopScreenShare
 TwoTone.Storage
 TwoTone.Store
 TwoTone.StoreMallDirectory
@@ -10295,7 +9587,6 @@
 TwoTone.Style
 TwoTone.SubdirectoryArrowLeft
 TwoTone.SubdirectoryArrowRight
-TwoTone.Subject
 TwoTone.Subscript
 TwoTone.Subscriptions
 TwoTone.Subtitles
@@ -10374,7 +9665,6 @@
 TwoTone.TextRotationAngleup
 TwoTone.TextRotationDown
 TwoTone.TextRotationNone
-TwoTone.TextSnippet
 TwoTone.Textsms
 TwoTone.Texture
 TwoTone.TheaterComedy
@@ -10401,7 +9691,6 @@
 TwoTone.TipsAndUpdates
 TwoTone.TireRepair
 TwoTone.Title
-TwoTone.Toc
 TwoTone.Today
 TwoTone.ToggleOff
 TwoTone.ToggleOn
@@ -10424,9 +9713,6 @@
 TwoTone.TransitEnterexit
 TwoTone.Translate
 TwoTone.TravelExplore
-TwoTone.TrendingDown
-TwoTone.TrendingFlat
-TwoTone.TrendingUp
 TwoTone.TripOrigin
 TwoTone.Troubleshoot
 TwoTone.Try
@@ -10450,7 +9736,6 @@
 TwoTone.UTurnRight
 TwoTone.Umbrella
 TwoTone.Unarchive
-TwoTone.Undo
 TwoTone.UnfoldLess
 TwoTone.UnfoldLessDouble
 TwoTone.UnfoldMore
@@ -10504,10 +9789,7 @@
 TwoTone.ViewHeadline
 TwoTone.ViewInAr
 TwoTone.ViewKanban
-TwoTone.ViewList
 TwoTone.ViewModule
-TwoTone.ViewQuilt
-TwoTone.ViewSidebar
 TwoTone.ViewStream
 TwoTone.ViewTimeline
 TwoTone.ViewWeek
@@ -10519,10 +9801,6 @@
 TwoTone.VoiceOverOff
 TwoTone.Voicemail
 TwoTone.Volcano
-TwoTone.VolumeDown
-TwoTone.VolumeMute
-TwoTone.VolumeOff
-TwoTone.VolumeUp
 TwoTone.VolunteerActivism
 TwoTone.VpnKey
 TwoTone.VpnKeyOff
@@ -10592,9 +9870,7 @@
 TwoTone.WorkOutline
 TwoTone.WorkspacePremium
 TwoTone.Workspaces
-TwoTone.WrapText
 TwoTone.WrongLocation
-TwoTone.Wysiwyg
 TwoTone.Yard
 TwoTone.YoutubeSearchedFor
 TwoTone.ZoomIn
@@ -10627,7 +9903,6 @@
 TwoTone._2mp
 TwoTone._30fps
 TwoTone._30fpsSelect
-TwoTone._360
 TwoTone._3dRotation
 TwoTone._3gMobiledata
 TwoTone._3k
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt
index e2ee213..3a94ce1 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt
@@ -26,10 +26,12 @@
  * @property xmlFileName the name of the processed XML file
  * @property theme the theme of this icon
  * @property fileContent the content of the source XML file that will be parsed.
+ * @property autoMirrored indicates that this Icon can be auto-mirrored on Right to Left layouts.
  */
 data class Icon(
     val kotlinName: String,
     val xmlFileName: String,
     val theme: IconTheme,
-    val fileContent: String
+    val fileContent: String,
+    val autoMirrored: Boolean
 )
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt
index 3bc28e4..5da5017 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt
@@ -41,11 +41,10 @@
             seekToStartTag()
         }
 
-        check(parser.name == "vector") { "The start tag must be <vector>!" }
-
-        parser.next()
+        check(parser.name == VECTOR) { "The start tag must be <vector>!" }
 
         val nodes = mutableListOf<VectorNode>()
+        var autoMirrored = false
 
         var currentGroup: VectorNode.Group? = null
 
@@ -53,6 +52,10 @@
             when (parser.eventType) {
                 START_TAG -> {
                     when (parser.name) {
+                        VECTOR -> {
+                            autoMirrored = parser.getValueAsBoolean(AUTO_MIRRORED)
+                        }
+
                         PATH -> {
                             val pathData = parser.getAttributeValue(
                                 null,
@@ -84,6 +87,7 @@
                             currentGroup = group
                             nodes.add(group)
                         }
+
                         CLIP_PATH -> { /* TODO: b/147418351 - parse clipping paths */
                         }
                     }
@@ -92,7 +96,7 @@
             parser.next()
         }
 
-        return Vector(nodes)
+        return Vector(autoMirrored, nodes)
     }
 }
 
@@ -102,6 +106,12 @@
 private fun XmlPullParser.getValueAsFloat(name: String) =
     getAttributeValue(null, name)?.toFloatOrNull()
 
+/**
+ * @return the boolean value for the attribute [name], or 'false' if it couldn't be found
+ */
+private fun XmlPullParser.getValueAsBoolean(name: String) =
+    getAttributeValue(null, name).toBoolean()
+
 private fun XmlPullParser.seekToStartTag(): XmlPullParser {
     var type = next()
     while (type != START_TAG && type != END_DOCUMENT) {
@@ -118,11 +128,13 @@
     eventType == END_DOCUMENT || (depth < 1 && eventType == END_TAG)
 
 // XML tag names
+private const val VECTOR = "vector"
 private const val CLIP_PATH = "clip-path"
 private const val GROUP = "group"
 private const val PATH = "path"
 
 // XML attribute names
+private const val AUTO_MIRRORED = "android:autoMirrored"
 private const val PATH_DATA = "android:pathData"
 private const val FILL_ALPHA = "android:fillAlpha"
 private const val STROKE_ALPHA = "android:strokeAlpha"
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
index f7c4b66..732b652 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
@@ -46,11 +46,19 @@
  * that we will write to and compare with [expectedApiFile]. This way the generated file can be
  * copied to overwrite the expected file, 'confirming' any API changes as a result of changing
  * icons in [iconDirectories].
+ * @param expectedAutoMirroredApiFile location of the checked-in API file that contains the current
+ * list of all auto-mirrored icons processed and generated
+ * @param generatedAutoMirroredApiFile location of the to-be-generated API file in the build
+ * directory, that we will write to and compare with [expectedAutoMirroredApiFile]. This way the
+ * generated file can be copied to overwrite the expected file, 'confirming' any API changes as a
+ * result of changing auto-mirrored icons in [iconDirectories]
  */
 class IconProcessor(
     private val iconDirectories: List<File>,
     private val expectedApiFile: File,
-    private val generatedApiFile: File
+    private val generatedApiFile: File,
+    private val expectedAutoMirroredApiFile: File,
+    private val generatedAutoMirroredApiFile: File,
 ) {
     /**
      * @return a list of processed [Icon]s, from the provided [iconDirectories].
@@ -59,8 +67,11 @@
         val icons = loadIcons()
 
         ensureIconsExistInAllThemes(icons)
-        writeApiFile(icons, generatedApiFile)
+        val (regularIcons, autoMirroredIcons) = icons.partition { !it.autoMirrored }
+        writeApiFile(regularIcons, generatedApiFile)
+        writeApiFile(autoMirroredIcons, generatedAutoMirroredApiFile)
         checkApi(expectedApiFile, generatedApiFile)
+        checkApi(expectedAutoMirroredApiFile, generatedAutoMirroredApiFile)
 
         return icons
     }
@@ -79,12 +90,13 @@
                 // Prefix the icon name with a theme so we can ensure they will be unique when
                 // copied to res/drawable.
                 val xmlName = "${theme.themePackageName}_$filename"
-
+                val fileContent = file.readText()
                 Icon(
                     kotlinName = kotlinName,
                     xmlFileName = xmlName,
                     theme = theme,
-                    fileContent = processXmlFile(file.readText())
+                    fileContent = processXmlFile(fileContent),
+                    autoMirrored = isAutoMirrored(fileContent)
                 )
             }
 
@@ -115,17 +127,23 @@
  */
 private fun processXmlFile(fileContent: String): String {
     // Remove any defined tint for paths that use theme attributes
-    val tintAttribute = Regex.escape("""android:tint="?attr/colorControlNormal">""")
+    val tintAttribute = Regex.escape("""android:tint="?attr/colorControlNormal"""")
     val tintRegex = """\n.*?$tintAttribute""".toRegex(RegexOption.MULTILINE)
 
     return fileContent
-        .replace(tintRegex, ">")
+        .replace(tintRegex, "")
         // The imported icons have white as the default path color, so let's change it to be
         // black as is typical on Android.
         .replace("@android:color/white", "@android:color/black")
 }
 
 /**
+ * Returns true if the given [fileContent] includes an `android:autoMirrored="true"` attribute.
+ */
+private fun isAutoMirrored(fileContent: String): Boolean =
+    fileContent.contains(Regex.fromLiteral("""android:autoMirrored="true""""))
+
+/**
  * Ensures that each icon in each theme is available in every other theme
  */
 private fun ensureIconsExistInAllThemes(icons: List<Icon>) {
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt
index c8751d9..36addcd 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt
@@ -16,6 +16,7 @@
 
 package androidx.compose.material.icons.generator
 
+import com.squareup.kotlinpoet.AnnotationSpec
 import com.squareup.kotlinpoet.CodeBlock
 import com.squareup.kotlinpoet.FileSpec
 import com.squareup.kotlinpoet.FunSpec
@@ -40,13 +41,39 @@
      * Generates the list and writes it to [outputSrcDirectory].
      */
     fun generateTo(outputSrcDirectory: File) {
-        // Split the icons to Core and Extended lists, and generate output for each.
-        val (coreIcons, extendedIcons) = icons.partition { CoreIcons.contains(it.kotlinName) }
-        generateTo(outputSrcDirectory, coreIcons, "Core")
-        generateTo(outputSrcDirectory, extendedIcons, "Extended")
+        // Sort and split the icons to Core, CoreAutoMirrored, Extended, and ExtendedAutoMirrored
+        // lists, and generate output for each.
+        val sortedIcons = icons.sortedBy { it.kotlinName }
+        val (coreIcons, extendedIcons) = sortedIcons.partition { CoreIcons.contains(it.kotlinName) }
+        // Here we write the entire set of icons into the CoreFilledIcons, CoreOutlinedIcons,
+        // ExtendedFilledIcons etc. These files will include the deprecated set of icons that we
+        // also have under the auto-mirrored sets at CoreAutoMirroredFilledIcons,
+        // ExtendedAutoMirroredFilledIcons etc., which are also being generated here.
+        // Eventually, we will have the AllExtendedIcons, AllExtendedAutoMirroredIcons,
+        // AllCoreIcons, and AllCoreAutoMirroredIcons providing a combined list of the relevant
+        // icons for testing.
+        generateTo(outputSrcDirectory, coreIcons, "Core", isAutoMirrored = false)
+        generateTo(
+            outputSrcDirectory,
+            coreIcons.filter { it.autoMirrored },
+            "Core$AutoMirroredName",
+            isAutoMirrored = true
+        )
+        generateTo(outputSrcDirectory, extendedIcons, "Extended", isAutoMirrored = false)
+        generateTo(
+            outputSrcDirectory,
+            extendedIcons.filter { it.autoMirrored },
+            "Extended$AutoMirroredName",
+            isAutoMirrored = true
+        )
     }
 
-    private fun generateTo(outputSrcDirectory: File, icons: List<Icon>, prefix: String) {
+    private fun generateTo(
+        outputSrcDirectory: File,
+        icons: List<Icon>,
+        prefix: String,
+        isAutoMirrored: Boolean
+    ) {
         val propertyNames: MutableList<String> = mutableListOf()
         // Further split each list by themes, otherwise we get a Method too large exception.
         // We will then generate another file that returns the result of concatenating the list
@@ -56,14 +83,23 @@
             .map { (theme, icons) ->
                 val propertyName = "$prefix${theme.themeClassName}Icons"
                 propertyNames += propertyName
-                theme to generateListOfIconsForTheme(propertyName, theme, icons)
+                theme to generateListOfIconsForTheme(
+                    propertyName,
+                    theme,
+                    icons,
+                    isAutoMirrored
+                )
             }
             .forEach { (theme, fileSpec) ->
                 // KotlinPoet bans wildcard imports, and we run into class compilation errors
                 // (too large a file?) if we add all the imports individually, so let's just add
                 // the imports to each file manually.
-                val wildcardImport =
+                val wildcardImport = if (isAutoMirrored) {
+                    "import androidx.compose.material.icons.$AutoMirroredPackageName." +
+                        "${theme.themePackageName}.*"
+                } else {
                     "import androidx.compose.material.icons.${theme.themePackageName}.*"
+                }
 
                 fileSpec.writeToWithCopyright(outputSrcDirectory) { fileContent ->
                     fileContent.replace(
@@ -90,43 +126,55 @@
 /**
  * Generates a Kotlin file with a list containing all icons of the given [theme].
  *
- * @param propertyName the name of the top level property that we should generate the list under
+ * @param propertyName the name of the top level property that we should generate the icons list
+ * under
  * @param theme the theme that we are generating the file for
  * @param allIcons a list containing all icons that we will filter to match [theme]
+ * @param isAutoMirrored indicates if the icons generated are auto-mirrored
  */
 private fun generateListOfIconsForTheme(
     propertyName: String,
     theme: IconTheme,
-    allIcons: List<Icon>
+    allIcons: List<Icon>,
+    isAutoMirrored: Boolean
 ): FileSpec {
     val icons = allIcons.filter { it.theme == theme }
-
-    val iconStatements = icons.toStatements()
-
+    val iconStatements = icons.toStatements(isAutoMirrored)
+    val propertySpecBuilder = PropertySpec.builder(propertyName, type = listOfIconsType)
+    // The icons list will either have all as auto-mirrored, or all as not auto-mirrored. The list
+    // with the non auto-mirrored icons will hold references to deprecated icons, so we add a
+    // deprecation annotation for the generated list.
+    if (!isAutoMirrored) {
+        propertySpecBuilder.addAnnotation(
+            AnnotationSpec.builder(Suppress::class).addMember("\"DEPRECATION\"").build()
+        )
+    }
+    propertySpecBuilder.initializer(
+        buildCodeBlock {
+            addStatement("listOf(")
+            indent()
+            iconStatements.forEach { add(it) }
+            unindent()
+            addStatement(")")
+        }
+    )
     return FileSpec.builder(PackageNames.MaterialIconsPackage.packageName, propertyName)
-        .addProperty(
-            PropertySpec.builder(propertyName, type = listOfIconsType)
-                .initializer(
-                    buildCodeBlock {
-                        addStatement("listOf(")
-                        indent()
-                        iconStatements.forEach { add(it) }
-                        unindent()
-                        addStatement(")")
-                    }
-                )
-                .build()
-        ).setIndent().build()
+        .addProperty(propertySpecBuilder.build()).setIndent().build()
 }
 
 /**
  * @return a list of [CodeBlock] representing all the statements for the body of the list.
- * For example, one statement would look like `(Icons.Filled::Menu) to menu`.
+ * For example, one statement would look like `(Icons.Filled::Menu) to menu` or
+ * `(Icons.AutoMirrored.Filled::Menu) to menu`.
+ *
+ * @param autoMirrored indicates that the icon's statement should be for an auto-mirrored icon
  */
-private fun List<Icon>.toStatements(): List<CodeBlock> {
+private fun List<Icon>.toStatements(autoMirrored: Boolean): List<CodeBlock> {
     return mapIndexed { index, icon ->
         buildCodeBlock {
-            val iconFunctionReference = "(%T.${icon.theme.themeClassName}::${icon.kotlinName})"
+            val autoMirroredPrefix = if (autoMirrored) "$AutoMirroredName." else ""
+            val iconFunctionReference =
+                "(%T.$autoMirroredPrefix${icon.theme.themeClassName}::${icon.kotlinName})"
             val text = "$iconFunctionReference to \"${icon.xmlFileName}\""
             addStatement(if (index != size - 1) "$text," else text, ClassNames.Icons)
         }
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt
index 36c38bc..16dacbb 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt
@@ -16,6 +16,8 @@
 
 package androidx.compose.material.icons.generator
 
+import java.util.Locale
+
 /**
  * Enum representing the different themes for Material icons.
  *
@@ -42,5 +44,22 @@
 /**
  * The ClassName representing this [IconTheme] object, so we can generate extension properties on
  * the object.
+ *
+ * @see [autoMirroredClassName]
  */
-val IconTheme.className get() = PackageNames.MaterialIconsPackage.className("Icons", themeClassName)
+val IconTheme.className
+    get() =
+        PackageNames.MaterialIconsPackage.className("Icons", themeClassName)
+
+/**
+ * The ClassName representing this [IconTheme] object so we can generate extension properties on the
+ * object when used for auto-mirrored icons.
+ *
+ * @see [className]
+ */
+val IconTheme.autoMirroredClassName
+    get() =
+        PackageNames.MaterialIconsPackage.className("Icons", AutoMirroredName, themeClassName)
+
+internal const val AutoMirroredName = "AutoMirrored"
+internal val AutoMirroredPackageName = AutoMirroredName.lowercase(Locale.ROOT)
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt
index 2a399bd..155a6ff 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt
@@ -48,6 +48,18 @@
             ).createFileSpec()
 
             fileSpec.writeToWithCopyright(outputSrcDirectory)
+
+            // Write additional file specs for auto-mirrored icons. These files will be written into
+            // an automirrored package and will hold a similar icons theme structure underneath.
+            if (vector.autoMirrored) {
+                val autoMirroredFileSpec = ImageVectorGenerator(
+                    icon.kotlinName,
+                    icon.theme,
+                    vector
+                ).createAutoMirroredFileSpec()
+
+                autoMirroredFileSpec.writeToWithCopyright(outputSrcDirectory)
+            }
         }
     }
 }
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt
index 7c42a9c..f7c8ebc 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt
@@ -19,6 +19,7 @@
 import androidx.compose.material.icons.generator.vector.FillType
 import androidx.compose.material.icons.generator.vector.Vector
 import androidx.compose.material.icons.generator.vector.VectorNode
+import com.squareup.kotlinpoet.AnnotationSpec
 import com.squareup.kotlinpoet.CodeBlock
 import com.squareup.kotlinpoet.FileSpec
 import com.squareup.kotlinpoet.FunSpec
@@ -28,7 +29,7 @@
 import java.util.Locale
 
 /**
- * Generator for creating a Kotlin source file with a ImageVectror property for the given [vector],
+ * Generator for creating a Kotlin source file with an ImageVector property for the given [vector],
  * with name [iconName] and theme [iconTheme].
  *
  * @param iconName the name for the generated property, which is also used for the generated file.
@@ -51,26 +52,98 @@
      * [PackageNames.MaterialIconsPackage] + [IconTheme.themePackageName].
      */
     fun createFileSpec(): FileSpec {
+        val builder = createFileSpecBuilder(themePackageName = iconTheme.themePackageName)
+        val backingProperty = getBackingProperty()
+        // Create a property with a getter. The autoMirror is always false in this case.
+        val propertySpecBuilder =
+            PropertySpec.builder(name = iconName, type = ClassNames.ImageVector)
+                .receiver(iconTheme.className)
+                .getter(
+                    iconGetter(
+                        backingProperty = backingProperty,
+                        iconName = iconName,
+                        iconTheme = iconTheme,
+                        autoMirror = false
+                    )
+                )
+        // Add a deprecation warning with a suggestion to replace this icon's usage with its
+        // equivalent that was generated under the automirrored package.
+        if (vector.autoMirrored) {
+            val autoMirroredPackage = "${PackageNames.MaterialIconsPackage.packageName}." +
+                "$AutoMirroredPackageName.${iconTheme.themePackageName}"
+            propertySpecBuilder.addAnnotation(
+                AnnotationSpec.builder(Deprecated::class)
+                    .addMember(
+                        "\"Use the AutoMirrored version at %N.%N.%N.%N\"",
+                        ClassNames.Icons.simpleName,
+                        AutoMirroredName,
+                        iconTheme.name,
+                        iconName
+                    )
+                    .addMember(
+                        "ReplaceWith( \"%N.%N.%N.%N\", \"$autoMirroredPackage.%N\")",
+                        ClassNames.Icons.simpleName,
+                        AutoMirroredName,
+                        iconTheme.name,
+                        iconName,
+                        iconName
+                    )
+                    .build()
+            )
+        }
+        builder.addProperty(propertySpecBuilder.build())
+        builder.addProperty(backingProperty)
+        return builder.setIndent().build()
+    }
+
+    /**
+     * @return a [FileSpec] representing a Kotlin source file containing the property for this
+     * programmatic, auto-mirrored, [vector] representation.
+     *
+     * The package name and hence file location of the generated file is:
+     * [PackageNames.MaterialIconsPackage] + [AutoMirroredPackageName] +
+     * [IconTheme.themePackageName].
+     */
+    fun createAutoMirroredFileSpec(): FileSpec {
+        // Prepend the AutoMirroredName package name to the IconTheme package name.
+        val builder = createFileSpecBuilder(
+            themePackageName = "$AutoMirroredPackageName.${iconTheme.themePackageName}"
+        )
+        val backingProperty = getBackingProperty()
+        // Create a property with a getter. The autoMirror is always false in this case.
+        builder.addProperty(
+            PropertySpec.builder(name = iconName, type = ClassNames.ImageVector)
+                .receiver(iconTheme.autoMirroredClassName)
+                .getter(
+                    iconGetter(
+                        backingProperty = backingProperty,
+                        iconName = iconName,
+                        iconTheme = iconTheme,
+                        autoMirror = true
+                    )
+                )
+                .build()
+        )
+        builder.addProperty(backingProperty)
+        return builder.setIndent().build()
+    }
+
+    private fun createFileSpecBuilder(themePackageName: String): FileSpec.Builder {
         val iconsPackage = PackageNames.MaterialIconsPackage.packageName
-        val themePackage = iconTheme.themePackageName
-        val combinedPackageName = "$iconsPackage.$themePackage"
+        val combinedPackageName = "$iconsPackage.$themePackageName"
+        return FileSpec.builder(
+            packageName = combinedPackageName,
+            fileName = iconName
+        )
+    }
+
+    private fun getBackingProperty(): PropertySpec {
         // Use a unique property name for the private backing property. This is because (as of
         // Kotlin 1.4) each property with the same name will be considered as a possible candidate
         // for resolution, regardless of the access modifier, so by using unique names we reduce
         // the size from ~6000 to 1, and speed up compilation time for these icons.
         val backingPropertyName = "_" + iconName.replaceFirstChar { it.lowercase(Locale.ROOT) }
-        val backingProperty = backingProperty(name = backingPropertyName)
-        return FileSpec.builder(
-            packageName = combinedPackageName,
-            fileName = iconName
-        ).addProperty(
-            PropertySpec.builder(name = iconName, type = ClassNames.ImageVector)
-                .receiver(iconTheme.className)
-                .getter(iconGetter(backingProperty, iconName, iconTheme))
-                .build()
-        ).addProperty(
-            backingProperty
-        ).setIndent().build()
+        return backingProperty(name = backingPropertyName)
     }
 
     /**
@@ -81,7 +154,8 @@
     private fun iconGetter(
         backingProperty: PropertySpec,
         iconName: String,
-        iconTheme: IconTheme
+        iconTheme: IconTheme,
+        autoMirror: Boolean
     ): FunSpec {
         return FunSpec.getterBuilder()
             .addCode(
@@ -93,8 +167,13 @@
             )
             .addCode(
                 buildCodeBlock {
+                    val controlFlow = if (autoMirror) {
+                        "%N = %M(name = \"$AutoMirroredName.%N.%N\", autoMirror = true)"
+                    } else {
+                        "%N = %M(name = \"%N.%N\")"
+                    }
                     beginControlFlow(
-                        "%N = %M(name = \"%N.%N\")",
+                        controlFlow,
                         backingProperty,
                         MemberNames.MaterialIcon,
                         iconTheme.name,
@@ -137,6 +216,7 @@
             }
             endControlFlow()
         }
+
         is VectorNode.Path -> {
             addPath(vectorNode) {
                 vectorNode.nodes.forEach { pathNode ->
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
index fe2a652..ce7fd5d 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
@@ -60,7 +60,7 @@
     }
 
     /**
-     * Checked-in API file for the generator module, where we will track all the generated icons
+     * Checked-in API file for the generator module, where we will track all the generated icons.
      */
     @PathSensitive(PathSensitivity.NONE)
     @InputFile
@@ -68,6 +68,17 @@
         project.rootProject.project(GeneratorProject).projectDir.resolve("api/icons.txt")
 
     /**
+     * Checked-in API file for the generator module, where we will track all the generated
+     * auto-mirrored icons.
+     */
+    @PathSensitive(PathSensitivity.NONE)
+    @InputFile
+    val expectedAutoMirroredApiFile =
+        project.rootProject.project(GeneratorProject).projectDir.resolve(
+            "api/automirrored_icons.txt"
+        )
+
+    /**
      * Root build directory for this task, where outputs will be placed into.
      */
     @OutputDirectory
@@ -82,6 +93,15 @@
         get() = buildDirectory.resolve("api/icons.txt")
 
     /**
+     * Generated API file that will be placed in the build directory. This can be copied manually
+     * to [expectedAutoMirroredApiFile] to confirm that auto-mirrored icons API changes were
+     * intended.
+     */
+    @get:OutputFile
+    val generatedAutoMirroredApiFile: File
+        get() = buildDirectory.resolve("api/automirrored_icons.txt")
+
+    /**
      * @return a list of all processed [Icon]s from [getIconDirectories].
      */
     fun loadIcons(): List<Icon> {
@@ -91,7 +111,9 @@
         return IconProcessor(
             getIconDirectories(),
             expectedApiFile,
-            generatedApiFile
+            generatedApiFile,
+            expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile,
         ).process()
     }
 
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt
index edb90ad..13a711c 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt
@@ -19,10 +19,12 @@
 /**
  * Simplified representation of a vector, with root [nodes].
  *
- * [nodes] may either be a singleton list of the root group, or a list of root paths / groups if
- * there are multiple top level declaration.
+ * @param autoMirrored a boolean that indicates if this Vector can be auto-mirrored on left to right
+ * locales
+ * @param nodes may either be a singleton list of the root group, or a list of root paths / groups
+ * if there are multiple top level declaration
  */
-class Vector(val nodes: List<VectorNode>)
+class Vector(val autoMirrored: Boolean, val nodes: List<VectorNode>)
 
 /**
  * Simplified vector node representation, as the total set of properties we need to care about
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt
index 8676ea2..276adb5 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt
@@ -18,6 +18,7 @@
 
 import androidx.compose.material.icons.generator.vector.FillType
 import androidx.compose.material.icons.generator.vector.PathNode
+import androidx.compose.material.icons.generator.vector.Vector
 import androidx.compose.material.icons.generator.vector.VectorNode
 import com.google.common.truth.Truth
 import org.junit.Test
@@ -32,40 +33,68 @@
 
     @Test
     fun parseVector() {
-        val icon = Icon("SimpleVector", "simple_vector", IconTheme.Filled, TestVector)
+        val icon = Icon(
+            "SimpleVector",
+            "simple_vector",
+            IconTheme.Filled,
+            TestVector,
+            autoMirrored = false
+        )
         val vector = IconParser(icon).parse()
 
-        val nodes = vector.nodes
-        Truth.assertThat(nodes.size).isEqualTo(2)
+        Truth.assertThat(vector.autoMirrored).isFalse()
 
-        val firstPath = nodes[0] as VectorNode.Path
-        Truth.assertThat(firstPath.fillAlpha).isEqualTo(0.3f)
-        Truth.assertThat(firstPath.strokeAlpha).isEqualTo(1f)
-        Truth.assertThat(firstPath.fillType).isEqualTo(FillType.NonZero)
-
-        val expectedFirstPathNodes = listOf(
-            PathNode.MoveTo(20f, 10f),
-            PathNode.RelativeLineTo(10f, 10f),
-            PathNode.RelativeLineTo(0f, 10f),
-            PathNode.RelativeLineTo(-10f, 0f),
-            PathNode.Close
-        )
-        Truth.assertThat(firstPath.nodes).isEqualTo(expectedFirstPathNodes)
-
-        val secondPath = nodes[1] as VectorNode.Path
-        Truth.assertThat(secondPath.fillAlpha).isEqualTo(1f)
-        Truth.assertThat(secondPath.strokeAlpha).isEqualTo(0.9f)
-        Truth.assertThat(secondPath.fillType).isEqualTo(FillType.EvenOdd)
-
-        val expectedSecondPathNodes = listOf(
-            PathNode.MoveTo(16.5f, 9.0f),
-            PathNode.RelativeHorizontalTo(3.5f),
-            PathNode.RelativeVerticalTo(9f),
-            PathNode.RelativeHorizontalTo(-3.5f),
-            PathNode.Close
-        )
-        Truth.assertThat(secondPath.nodes).isEqualTo(expectedSecondPathNodes)
+        assertVectorNodes(vector)
     }
+
+    @Test
+    fun parseAutoMirroredVector() {
+        val icon = Icon(
+            "SimpleAutoMirroredVector",
+            "simple_autoMirrored_vector",
+            IconTheme.Filled,
+            TestAutoMirroredVector,
+            autoMirrored = true
+        )
+        val vector = IconParser(icon).parse()
+
+        Truth.assertThat(vector.autoMirrored).isTrue()
+
+        assertVectorNodes(vector)
+    }
+}
+
+private fun assertVectorNodes(vector: Vector) {
+    val nodes = vector.nodes
+    Truth.assertThat(nodes.size).isEqualTo(2)
+
+    val firstPath = nodes[0] as VectorNode.Path
+    Truth.assertThat(firstPath.fillAlpha).isEqualTo(0.3f)
+    Truth.assertThat(firstPath.strokeAlpha).isEqualTo(1f)
+    Truth.assertThat(firstPath.fillType).isEqualTo(FillType.NonZero)
+
+    val expectedFirstPathNodes = listOf(
+        PathNode.MoveTo(20f, 10f),
+        PathNode.RelativeLineTo(10f, 10f),
+        PathNode.RelativeLineTo(0f, 10f),
+        PathNode.RelativeLineTo(-10f, 0f),
+        PathNode.Close
+    )
+    Truth.assertThat(firstPath.nodes).isEqualTo(expectedFirstPathNodes)
+
+    val secondPath = nodes[1] as VectorNode.Path
+    Truth.assertThat(secondPath.fillAlpha).isEqualTo(1f)
+    Truth.assertThat(secondPath.strokeAlpha).isEqualTo(0.9f)
+    Truth.assertThat(secondPath.fillType).isEqualTo(FillType.EvenOdd)
+
+    val expectedSecondPathNodes = listOf(
+        PathNode.MoveTo(16.5f, 9.0f),
+        PathNode.RelativeHorizontalTo(3.5f),
+        PathNode.RelativeVerticalTo(9f),
+        PathNode.RelativeHorizontalTo(-3.5f),
+        PathNode.Close
+    )
+    Truth.assertThat(secondPath.nodes).isEqualTo(expectedSecondPathNodes)
 }
 
 private val TestVector = """
@@ -81,3 +110,18 @@
             android:fillType="evenOdd" />
     </vector>
 """.trimIndent()
+
+private val TestAutoMirroredVector = """
+    <vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:autoMirrored="true">
+        <path
+            android:fillAlpha=".3"
+            android:pathData="M20,10, l10,10 0,10 -10, 0z" />
+        <path
+            android:strokeAlpha=".9"
+            android:pathData="M16.5,9h3.5v9h-3.5z"
+            android:fillType="evenOdd" />
+    </vector>
+""".trimIndent()
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
index 15c45cb..5a6027f 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
@@ -49,13 +49,22 @@
         val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
             writeText(ExpectedApiFile)
         }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText("")
+            }
 
         val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
 
         val processor = IconProcessor(
             iconDirectories = iconDirectory.listFiles()!!.toList(),
             expectedApiFile = expectedApiFile,
-            generatedApiFile = generatedApiFile
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+
         )
 
         val icons = processor.process()
@@ -71,6 +80,51 @@
     }
 
     /**
+     * Tests that the processed auto-mirrored icons match what we expect.
+     */
+    @Test
+    fun iconProcessor_noAutoMirroredApiChanges() {
+        val iconDirectory = temporaryFolder.createIconDirectory()
+
+        // Write the test icon to each theme folder
+        iconDirectory.listFiles()!!.forEach { themeDirectory ->
+            themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+        }
+
+        val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+            writeText("")
+        }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText(ExpectedApiFile)
+            }
+
+        val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
+
+        val processor = IconProcessor(
+            iconDirectories = iconDirectory.listFiles()!!.toList(),
+            expectedApiFile = expectedApiFile,
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+        )
+
+        val icons = processor.process()
+
+        Truth.assertThat(icons.size).isEqualTo(5)
+
+        icons.forEach { icon ->
+            Truth.assertThat(icon.kotlinName).isEqualTo("TestIcon")
+            val themePackage = icon.theme.themePackageName
+            Truth.assertThat(icon.xmlFileName).isEqualTo("${themePackage}_test_icon")
+            Truth.assertThat(icon.fileContent).isEqualTo(ExpectedAutoMirroredIconFile)
+            Truth.assertThat(icon.autoMirrored).isTrue()
+        }
+    }
+
+    /**
      * Tests that an exception is thrown, failing the build, when there are changes between the
      * checked in and generated API files.
      */
@@ -87,13 +141,61 @@
         val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
             writeText("")
         }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText("")
+            }
 
         val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
 
         val processor = IconProcessor(
             iconDirectories = iconDirectory.listFiles()!!.toList(),
             expectedApiFile = expectedApiFile,
-            generatedApiFile = generatedApiFile
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+        )
+
+        // The generated api file conflicts with the expected api file, so we should throw here
+        assertIllegalStateContainingMessage("Found differences when comparing API files") {
+            processor.process()
+        }
+    }
+
+    /**
+     * Tests that an exception is thrown, failing the build, when there are changes between the
+     * checked in and generated auto-mirrored API files.
+     */
+    @Test
+    fun iconProcessor_autoMirroredApiChanges() {
+        val iconDirectory = temporaryFolder.createIconDirectory()
+
+        // Write the test icon to each theme folder
+        iconDirectory.listFiles()!!.forEach { themeDirectory ->
+            themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+        }
+
+        // Create an empty expected API file
+        val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+            writeText("")
+        }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText("")
+            }
+
+        val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
+
+        val processor = IconProcessor(
+            iconDirectories = iconDirectory.listFiles()!!.toList(),
+            expectedApiFile = expectedApiFile,
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
         )
 
         // The generated api file conflicts with the expected api file, so we should throw here
@@ -119,13 +221,62 @@
         val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
             writeText(ExpectedIconFile)
         }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText("")
+            }
 
         val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
 
         val processor = IconProcessor(
             iconDirectories = iconDirectory.listFiles()!!.toList(),
             expectedApiFile = expectedApiFile,
-            generatedApiFile = generatedApiFile
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+        )
+
+        // Not all icons exist in all themes, so we should throw here
+        assertIllegalStateContainingMessage("Some themes were missing") {
+            processor.process()
+        }
+    }
+
+    /**
+     * Tests that an exception is thrown, failing the build, when not all themes contain the
+     * auto-mirrored icons.
+     */
+    @Test
+    fun iconProcessor_missingAutoMirroredTheme() {
+        val iconDirectory = temporaryFolder.createIconDirectory()
+
+        // Write the test icon to all but one theme folder
+        iconDirectory.listFiles()!!.forEachIndexed { index, themeDirectory ->
+            if (index != 0) {
+                themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+            }
+        }
+
+        val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+            writeText("")
+        }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText(ExpectedAutoMirroredIconFile)
+            }
+
+        val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
+
+        val processor = IconProcessor(
+            iconDirectories = iconDirectory.listFiles()!!.toList(),
+            expectedApiFile = expectedApiFile,
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
         )
 
         // Not all icons exist in all themes, so we should throw here
@@ -153,13 +304,66 @@
         val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
             writeText(ExpectedIconFile)
         }
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText("")
+            }
 
         val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
 
         val processor = IconProcessor(
             iconDirectories = iconDirectory.listFiles()!!.toList(),
             expectedApiFile = expectedApiFile,
-            generatedApiFile = generatedApiFile
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+        )
+
+        // Not all icons exist in all themes, so we should throw here
+        assertIllegalStateContainingMessage("Not all icons were found") {
+            processor.process()
+        }
+    }
+
+    /**
+     * Tests that an exception is thrown, failing the build, when the number of icons in each
+     * theme is not the same.
+     */
+    @Test
+    fun iconProcessor_missingAutoMirroredIcons() {
+        val iconDirectory = temporaryFolder.createIconDirectory()
+
+        // Write the test icon to all themes
+        iconDirectory.listFiles()!!.forEach { themeDirectory ->
+            themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+        }
+
+        // Write a new icon to only one theme
+        iconDirectory.listFiles()!![0].resolve("unique_test_icon")
+            .writeText(TestAutoMirroredIconFile)
+
+        val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+            writeText("")
+        }
+
+        val expectedAutoMirroredApiFile =
+            temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+                writeText(ExpectedAutoMirroredIconFile)
+            }
+
+        val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+
+        val generatedAutoMirroredApiFile =
+            temporaryFolder.newFile("generated-automirrored-api.txt")
+
+        val processor = IconProcessor(
+            iconDirectories = iconDirectory.listFiles()!!.toList(),
+            expectedApiFile = expectedApiFile,
+            generatedApiFile = generatedApiFile,
+            expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+            generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
         )
 
         // Not all icons exist in all themes, so we should throw here
@@ -185,7 +389,9 @@
             iconDirectories = iconDirectory.listFiles()!!.toList(),
             // Should crash before reaching this point, so just use an empty file
             expectedApiFile = temporaryFolder.root,
-            generatedApiFile = temporaryFolder.root
+            generatedApiFile = temporaryFolder.root,
+            expectedAutoMirroredApiFile = temporaryFolder.root,
+            generatedAutoMirroredApiFile = temporaryFolder.root
         )
 
         // Duplicate icon names, so we should throw here
@@ -240,6 +446,21 @@
 
 """.trimIndent()
 
+private val TestAutoMirroredIconFile = """
+    <vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:tint="?attr/colorControlNormal"
+        android:autoMirrored="true">
+      <path
+          android:fillColor="@android:color/white"
+          android:pathData="M16.5,9h3.5v9h-3.5z"/>
+    </vector>
+
+""".trimIndent()
+
 private val ExpectedIconFile = """
     <vector xmlns:android="http://schemas.android.com/apk/res/android"
         android:width="24dp"
@@ -253,6 +474,20 @@
 
 """.trimIndent()
 
+private val ExpectedAutoMirroredIconFile = """
+    <vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:autoMirrored="true">
+      <path
+          android:fillColor="@android:color/black"
+          android:pathData="M16.5,9h3.5v9h-3.5z"/>
+    </vector>
+
+""".trimIndent()
+
 private val ExpectedApiFile = """
     Filled.TestIcon
     Outlined.TestIcon
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt
index f557385..32ee1d7 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt
@@ -35,30 +35,75 @@
 
     @Test
     fun generateFileSpec() {
-        val iconName = "TestVector"
         val theme = IconTheme.Filled
-
-        val generator = ImageVectorGenerator(
-            iconName = iconName,
-            iconTheme = theme,
-            vector = TestVector
+        assertFileSpec(
+            iconName = "TestVector",
+            theme = theme,
+            testVector = TestVector,
+            expectedPackageName = "${MaterialIconsPackage.packageName}.${theme.themePackageName}",
+            expectedFileContent = ExpectedFile,
+            isAutoMirrored = false
         )
-
-        val fileSpec = generator.createFileSpec()
-
-        Truth.assertThat(fileSpec.name).isEqualTo(iconName)
-
-        val expectedPackageName = MaterialIconsPackage.packageName + "." + theme.themePackageName
-
-        Truth.assertThat(fileSpec.packageName).isEqualTo(expectedPackageName)
-
-        val fileContent = StringBuilder().run {
-            fileSpec.writeTo(this)
-            toString()
-        }
-
-        Truth.assertThat(fileContent).isEqualTo(ExpectedFile)
     }
+
+    @Test
+    fun generateDeprecatedFileSpec() {
+        val theme = IconTheme.Filled
+        assertFileSpec(
+            iconName = "TestVector",
+            theme = theme,
+            testVector = TestAutoMirroredVector,
+            expectedPackageName = "${MaterialIconsPackage.packageName}.${theme.themePackageName}",
+            expectedFileContent = ExpectedDeprecatedFile,
+            isAutoMirrored = false
+        )
+    }
+
+    @Test
+    fun generateAutoMirroredFileSpec() {
+        val theme = IconTheme.Filled
+        assertFileSpec(
+            iconName = "TestVector",
+            theme = theme,
+            testVector = TestAutoMirroredVector,
+            expectedPackageName = "${MaterialIconsPackage.packageName}.$AutoMirroredPackageName" +
+                ".${theme.themePackageName}",
+            expectedFileContent = ExpectedAutoMirroredFile,
+            isAutoMirrored = true
+        )
+    }
+}
+
+private fun assertFileSpec(
+    iconName: String,
+    theme: IconTheme,
+    testVector: Vector,
+    expectedPackageName: String,
+    expectedFileContent: String,
+    isAutoMirrored: Boolean
+) {
+    val generator = ImageVectorGenerator(
+        iconName = iconName,
+        iconTheme = theme,
+        vector = testVector
+    )
+
+    val fileSpec = if (isAutoMirrored) {
+        generator.createAutoMirroredFileSpec()
+    } else {
+        generator.createFileSpec()
+    }
+
+    Truth.assertThat(fileSpec.name).isEqualTo(iconName)
+
+    Truth.assertThat(fileSpec.packageName).isEqualTo(expectedPackageName)
+
+    val fileContent = StringBuilder().run {
+        fileSpec.writeTo(this)
+        toString()
+    }
+
+    Truth.assertThat(fileContent).isEqualTo(expectedFileContent)
 }
 
 @Language("kotlin")
@@ -99,6 +144,88 @@
 
 """.trimIndent()
 
+@Language("kotlin")
+private val ExpectedDeprecatedFile = """
+    package androidx.compose.material.icons.filled
+
+    import androidx.compose.material.icons.Icons
+    import androidx.compose.material.icons.materialIcon
+    import androidx.compose.material.icons.materialPath
+    import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd
+    import androidx.compose.ui.graphics.vector.ImageVector
+    import androidx.compose.ui.graphics.vector.group
+    import kotlin.Deprecated
+
+    @Deprecated(
+        "Use the AutoMirrored version at Icons.AutoMirrored.Filled.TestVector",
+        ReplaceWith( "Icons.AutoMirrored.Filled.TestVector",
+                "androidx.compose.material.icons.automirrored.filled.TestVector"),
+    )
+    public val Icons.Filled.TestVector: ImageVector
+        get() {
+            if (_testVector != null) {
+                return _testVector!!
+            }
+            _testVector = materialIcon(name = "Filled.TestVector") {
+                materialPath(fillAlpha = 0.8f) {
+                    moveTo(20.0f, 10.0f)
+                    lineToRelative(0.0f, 10.0f)
+                    lineToRelative(-10.0f, 0.0f)
+                    close()
+                }
+                group {
+                    materialPath(pathFillType = EvenOdd) {
+                        moveTo(0.0f, 10.0f)
+                        lineToRelative(-10.0f, 0.0f)
+                        close()
+                    }
+                }
+            }
+            return _testVector!!
+        }
+
+    private var _testVector: ImageVector? = null
+
+""".trimIndent()
+
+@Language("kotlin")
+private val ExpectedAutoMirroredFile = """
+    package androidx.compose.material.icons.automirrored.filled
+
+    import androidx.compose.material.icons.Icons
+    import androidx.compose.material.icons.materialIcon
+    import androidx.compose.material.icons.materialPath
+    import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd
+    import androidx.compose.ui.graphics.vector.ImageVector
+    import androidx.compose.ui.graphics.vector.group
+
+    public val Icons.AutoMirrored.Filled.TestVector: ImageVector
+        get() {
+            if (_testVector != null) {
+                return _testVector!!
+            }
+            _testVector = materialIcon(name = "AutoMirrored.Filled.TestVector", autoMirror = true) {
+                materialPath(fillAlpha = 0.8f) {
+                    moveTo(20.0f, 10.0f)
+                    lineToRelative(0.0f, 10.0f)
+                    lineToRelative(-10.0f, 0.0f)
+                    close()
+                }
+                group {
+                    materialPath(pathFillType = EvenOdd) {
+                        moveTo(0.0f, 10.0f)
+                        lineToRelative(-10.0f, 0.0f)
+                        close()
+                    }
+                }
+            }
+            return _testVector!!
+        }
+
+    private var _testVector: ImageVector? = null
+
+""".trimIndent()
+
 private val path1 = VectorNode.Path(
     strokeAlpha = 1f,
     fillAlpha = 0.8f,
@@ -124,4 +251,5 @@
 
 private val group = VectorNode.Group(mutableListOf(path2))
 
-private val TestVector = Vector(listOf(path1, group))
+private val TestVector = Vector(autoMirrored = false, nodes = listOf(path1, group))
+private val TestAutoMirroredVector = Vector(autoMirrored = true, nodes = listOf(path1, group))
diff --git a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt
index cd707c4..25a42bb 100644
--- a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt
+++ b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt
@@ -28,8 +28,7 @@
 import androidx.compose.material.TopAppBar
 import androidx.compose.material.catalog.library.R
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.MoreVert
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
@@ -74,7 +73,7 @@
                     }
                     IconButton(onClick = { moreMenuExpanded = true }) {
                         Icon(
-                            imageVector = Icons.Default.MoreVert,
+                            imageVector = Icons.AutoMirrored.Default.ArrowBack,
                             contentDescription = null
                         )
                     }
@@ -117,7 +116,7 @@
             {
                 IconButton(onClick = onBackClick) {
                     Icon(
-                        imageVector = Icons.Default.ArrowBack,
+                        imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                         contentDescription = null
                     )
                 }
diff --git a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt
index 3f5b455..2801d15 100644
--- a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt
+++ b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt
@@ -35,7 +35,7 @@
 import androidx.compose.material.catalog.library.ui.common.BorderWidth
 import androidx.compose.material.catalog.library.ui.common.compositeBorderColor
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.Alignment
@@ -75,7 +75,7 @@
             }
             Spacer(modifier = Modifier.width(ExampleItemPadding))
             Icon(
-                imageVector = Icons.Default.KeyboardArrowRight,
+                imageVector = Icons.AutoMirrored.Default.KeyboardArrowRight,
                 contentDescription = null,
                 modifier = Modifier.align(Alignment.CenterVertically)
             )
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
index cb9d9b3..20cec86 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
@@ -19,7 +19,7 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Row
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
 import androidx.compose.material.icons.filled.MoreVert
 import androidx.compose.material.icons.filled.PushPin
 import androidx.compose.material.icons.outlined.PushPin
@@ -136,7 +136,7 @@
             if (showBackNavigationIcon) {
                 IconButton(onClick = onBackClick) {
                     Icon(
-                        imageVector = Icons.Default.ArrowBack,
+                        imageVector = Icons.AutoMirrored.Default.ArrowBack,
                         contentDescription = null
                     )
                 }
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
index f75ccc2..f9721e6 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
@@ -24,7 +24,7 @@
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.width
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.Icon
 import androidx.compose.material3.MaterialTheme
@@ -60,7 +60,7 @@
             }
             Spacer(modifier = Modifier.width(ExampleItemPadding))
             Icon(
-                imageVector = Icons.Default.KeyboardArrowRight,
+                imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
                 contentDescription = null,
                 modifier = Modifier.align(Alignment.CenterVertically)
             )
diff --git a/compose/material3/material3/samples/build.gradle b/compose/material3/material3/samples/build.gradle
index eb9d9a3..30c0cbc 100644
--- a/compose/material3/material3/samples/build.gradle
+++ b/compose/material3/material3/samples/build.gradle
@@ -35,7 +35,7 @@
     implementation(project(":compose:foundation:foundation"))
     implementation(project(":compose:foundation:foundation-layout"))
     implementation("androidx.compose.material:material:1.2.1")
-    implementation("androidx.compose.material:material-icons-extended:1.4.0")
+    implementation(project(":compose:material:material-icons-extended"))
     implementation(project(":compose:material3:material3"))
     implementation("androidx.compose.runtime:runtime:1.2.1")
     implementation("androidx.compose.ui:ui:1.2.1")
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt
index 0ac189c..ba51a05 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt
@@ -20,9 +20,9 @@
 import androidx.compose.foundation.layout.size
 import androidx.compose.material.Icon
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.TrendingUp
 import androidx.compose.material.icons.filled.BookmarkBorder
 import androidx.compose.material.icons.filled.StarBorder
-import androidx.compose.material.icons.filled.TrendingUp
 import androidx.compose.material3.ExperimentalMaterial3Api
 import androidx.compose.material3.MultiChoiceSegmentedButtonRow
 import androidx.compose.material3.SegmentedButton
@@ -67,7 +67,7 @@
     val options = listOf("Favorites", "Trending", "Saved")
     val icons = listOf(
         Icons.Filled.StarBorder,
-        Icons.Filled.TrendingUp,
+        Icons.AutoMirrored.Filled.TrendingUp,
         Icons.Filled.BookmarkBorder
     )
     MultiChoiceSegmentedButtonRow {
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt
index 7742393..ddbb438 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt
@@ -20,8 +20,8 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.WindowInsets
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
 import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.ArrowBack
 import androidx.compose.material.icons.filled.Favorite
 import androidx.compose.material.icons.filled.Menu
 import androidx.compose.material3.TopAppBarDefaults.enterAlwaysScrollBehavior
@@ -63,7 +63,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -95,7 +95,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -136,7 +136,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -167,7 +167,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -198,7 +198,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -229,7 +229,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -260,7 +260,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -291,7 +291,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
@@ -322,7 +322,7 @@
                     navigationIcon = {
                         IconButton(onClick = { /* doSomething() */ }) {
                             Icon(
-                                imageVector = Icons.Filled.ArrowBack,
+                                imageVector = Icons.AutoMirrored.Filled.ArrowBack,
                                 contentDescription = "Back"
                             )
                         }
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
index 00c2306..a281855 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
@@ -57,11 +57,11 @@
 import androidx.compose.foundation.lazy.rememberLazyListState
 import androidx.compose.foundation.shape.CircleShape
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
 import androidx.compose.material.icons.filled.ArrowDropDown
 import androidx.compose.material.icons.filled.DateRange
 import androidx.compose.material.icons.filled.Edit
-import androidx.compose.material.icons.filled.KeyboardArrowLeft
-import androidx.compose.material.icons.filled.KeyboardArrowRight
 import androidx.compose.material3.tokens.DatePickerModalTokens
 import androidx.compose.material3.tokens.MotionTokens
 import androidx.compose.runtime.Composable
@@ -88,7 +88,6 @@
 import androidx.compose.ui.graphics.Color
 import androidx.compose.ui.graphics.Shape
 import androidx.compose.ui.platform.LocalDensity
-import androidx.compose.ui.platform.LocalLayoutDirection
 import androidx.compose.ui.semantics.CustomAccessibilityAction
 import androidx.compose.ui.semantics.LiveRegionMode
 import androidx.compose.ui.semantics.Role
@@ -108,7 +107,6 @@
 import androidx.compose.ui.text.TextStyle
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.LayoutDirection
 import androidx.compose.ui.unit.dp
 import kotlin.math.max
 import kotlinx.coroutines.CoroutineScope
@@ -1992,24 +1990,15 @@
             // Show arrows for traversing months (only visible when the year selection is off)
             if (!yearPickerVisible) {
                 Row {
-                    val rtl = LocalLayoutDirection.current == LayoutDirection.Rtl
                     IconButton(onClick = onPreviousClicked, enabled = previousAvailable) {
                         Icon(
-                            if (rtl) {
-                                Icons.Filled.KeyboardArrowRight
-                            } else {
-                                Icons.Filled.KeyboardArrowLeft
-                            },
+                            Icons.AutoMirrored.Filled.KeyboardArrowLeft,
                             contentDescription = getString(Strings.DatePickerSwitchToPreviousMonth)
                         )
                     }
                     IconButton(onClick = onNextClicked, enabled = nextAvailable) {
                         Icon(
-                            if (rtl) {
-                                Icons.Filled.KeyboardArrowLeft
-                            } else {
-                                Icons.Filled.KeyboardArrowRight
-                            },
+                            Icons.AutoMirrored.Filled.KeyboardArrowRight,
                             contentDescription = getString(Strings.DatePickerSwitchToNextMonth)
                         )
                     }
@@ -2093,7 +2082,8 @@
 internal val DatePickerModeTogglePadding = PaddingValues(end = 12.dp, bottom = 12.dp)
 
 private val DatePickerTitlePadding = PaddingValues(start = 24.dp, end = 12.dp, top = 16.dp)
-private val DatePickerHeadlinePadding = PaddingValues(start = 24.dp, end = 12.dp, bottom = 12.dp)
+private val DatePickerHeadlinePadding =
+    PaddingValues(start = 24.dp, end = 12.dp, bottom = 12.dp)
 
 private val YearsVerticalPadding = 16.dp
 
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
index b2fef8e..91ab765 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
@@ -35,7 +35,7 @@
 import androidx.compose.material.MaterialTheme
 import androidx.compose.material.Text
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableIntStateOf
@@ -108,7 +108,10 @@
                                 .clickable { displayedDemoIndex = -1 },
                             verticalAlignment = Alignment.CenterVertically
                         ) {
-                            Icon(imageVector = Icons.Default.ArrowBack, contentDescription = "Back")
+                            Icon(
+                                imageVector = Icons.AutoMirrored.Default.ArrowBack,
+                                contentDescription = "Back"
+                            )
                             Text(text = composeDemo.title)
                         }
                         Row(horizontalArrangement = Arrangement.spacedBy(4.dp)) {
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
index 7b952db..7bb6ec3 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
@@ -39,11 +39,11 @@
 import androidx.compose.material.Text
 import androidx.compose.material.TextField
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.Send
 import androidx.compose.material.icons.filled.Close
 import androidx.compose.material.icons.filled.Delete
 import androidx.compose.material.icons.filled.Edit
 import androidx.compose.material.icons.filled.KeyboardArrowDown
-import androidx.compose.material.icons.filled.Send
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Alignment
@@ -635,7 +635,7 @@
                     Text(text = "Send")
                     Spacer(modifier = Modifier.width(8.dp))
                     Icon(
-                        imageVector = Icons.Default.Send,
+                        imageVector = Icons.AutoMirrored.Default.Send,
                         contentDescription = "Send Mail",
                     )
                 }
@@ -737,7 +737,7 @@
             Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
                 CheapText(text = "Send")
                 Icon(
-                    imageVector = Icons.Default.Send,
+                    imageVector = Icons.AutoMirrored.Default.Send,
                     contentDescription = "Send Mail",
                 )
             }
diff --git a/gradlew b/gradlew
index 566a02d..66189ab 100755
--- a/gradlew
+++ b/gradlew
@@ -29,7 +29,7 @@
 
     #Set the initial heap size to match the max heap size,
     #by replacing a string like "-Xmx1g" with one like "-Xms1g -Xmx1g"
-    MAX_MEM=24g
+    MAX_MEM=32g
     ORG_GRADLE_JVMARGS="$(echo $ORG_GRADLE_JVMARGS | sed "s/-Xmx\([^ ]*\)/-Xms$MAX_MEM -Xmx$MAX_MEM/")"
 
     # tell Gradle where to put a heap dump on failure
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt
index 1257c1b..22cb95a 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt
@@ -136,6 +136,7 @@
         horizontalAlignment = Alignment.CenterHorizontally,
         verticalArrangement = Arrangement.spacedBy(10.dp)
     ) {
+        @Suppress("DEPRECATION")
         NavigationItem(
             imageVector = Icons.Default.KeyboardArrowRight,
             text = "LTR",
@@ -143,6 +144,7 @@
             selectedIndex = selectedIndex,
             index = 0
         )
+        @Suppress("DEPRECATION")
         NavigationItem(
             imageVector = Icons.Default.KeyboardArrowLeft,
             text = "RTL",
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt
index 2f07358..44d35f9 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt
@@ -83,6 +83,7 @@
                 LandscapeImageBackground(movie)
             },
             actions = {
+                @Suppress("DEPRECATION")
                 AppButton(
                     text = "Watch on YouTube",
                     icon = Icons.Outlined.ArrowRight,
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt
index cb55ab8..5c64b89 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt
@@ -371,6 +371,7 @@
                         )
                     },
                     trailingContent = {
+                        @Suppress("DEPRECATION")
                         Icon(
                             imageVector = Icons.Filled.KeyboardArrowRight,
                             contentDescription = null,
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
index 78de274..7948021 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
@@ -380,6 +380,7 @@
                         )
                     },
                     trailingContent = {
+                        @Suppress("DEPRECATION")
                         Icon(
                             imageVector = Icons.Filled.KeyboardArrowRight,
                             contentDescription = null,
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt
index 2657606..8a92372 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt
@@ -40,8 +40,8 @@
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
 import androidx.compose.material.icons.filled.Check
-import androidx.compose.material.icons.filled.KeyboardArrowRight
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.DisposableEffect
 import androidx.compose.runtime.LaunchedEffect
@@ -751,7 +751,7 @@
                 ) {
                     Icon(
                         imageVector = if (pickerGroupState.selectedIndex < 2)
-                            Icons.Filled.KeyboardArrowRight else Icons.Filled.Check,
+                            Icons.AutoMirrored.Filled.KeyboardArrowRight else Icons.Filled.Check,
                         contentDescription = if (pickerGroupState.selectedIndex < 2)
                             "next"
                         else