package net.thunderbird.core.ui.compose.designsystem.atom.icon.outlined

import androidx.compose.runtime.Composable
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.tooling.preview.Preview
import net.thunderbird.core.ui.compose.designsystem.atom.icon.Icon
import net.thunderbird.core.ui.compose.designsystem.atom.icon.icon
import net.thunderbird.core.ui.compose.designsystem.atom.icon.iconPath

@Suppress("MagicNumber")
internal val OutlinedBadgeIcon: ImageVector by lazy {
    icon(
        name = "OutlinedBadgeIcon",
        viewportWidth = 960.0f,
        viewportHeight = 960.0f,
    ) {
        iconPath {
            moveTo(x = 160.0f, y = 880.0f)
            quadToRelative(
                dx1 = -33.0f,
                dy1 = 0.0f,
                dx2 = -56.5f,
                dy2 = -23.5f,
            )
            reflectiveQuadTo(
                x1 = 80.0f,
                y1 = 800.0f,
            )
            lineToRelative(dx = 0.0f, dy = -440.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -33.0f,
                dx2 = 23.5f,
                dy2 = -56.5f,
            )
            reflectiveQuadTo(
                x1 = 160.0f,
                y1 = 280.0f,
            )
            lineToRelative(dx = 200.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -120.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -33.0f,
                dx2 = 23.5f,
                dy2 = -56.5f,
            )
            reflectiveQuadTo(
                x1 = 440.0f,
                y1 = 80.0f,
            )
            lineToRelative(dx = 80.0f, dy = 0.0f)
            quadToRelative(
                dx1 = 33.0f,
                dy1 = 0.0f,
                dx2 = 56.5f,
                dy2 = 23.5f,
            )
            reflectiveQuadTo(
                x1 = 600.0f,
                y1 = 160.0f,
            )
            lineToRelative(dx = 0.0f, dy = 120.0f)
            lineToRelative(dx = 200.0f, dy = 0.0f)
            quadToRelative(
                dx1 = 33.0f,
                dy1 = 0.0f,
                dx2 = 56.5f,
                dy2 = 23.5f,
            )
            reflectiveQuadTo(
                x1 = 880.0f,
                y1 = 360.0f,
            )
            lineToRelative(dx = 0.0f, dy = 440.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 33.0f,
                dx2 = -23.5f,
                dy2 = 56.5f,
            )
            reflectiveQuadTo(
                x1 = 800.0f,
                y1 = 880.0f,
            )
            lineTo(x = 160.0f, y = 880.0f)
            close()
            moveToRelative(dx = 0.0f, dy = -80.0f)
            lineToRelative(dx = 640.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -440.0f)
            lineTo(x = 600.0f, y = 360.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 33.0f,
                dx2 = -23.5f,
                dy2 = 56.5f,
            )
            reflectiveQuadTo(
                x1 = 520.0f,
                y1 = 440.0f,
            )
            lineToRelative(dx = -80.0f, dy = 0.0f)
            quadToRelative(
                dx1 = -33.0f,
                dy1 = 0.0f,
                dx2 = -56.5f,
                dy2 = -23.5f,
            )
            reflectiveQuadTo(
                x1 = 360.0f,
                y1 = 360.0f,
            )
            lineTo(x = 160.0f, y = 360.0f)
            lineToRelative(dx = 0.0f, dy = 440.0f)
            close()
            moveToRelative(dx = 80.0f, dy = -80.0f)
            lineToRelative(dx = 240.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -18.0f)
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -17.0f,
                dx2 = -9.5f,
                dy2 = -31.5f,
            )
            reflectiveQuadTo(
                x1 = 444.0f,
                y1 = 648.0f,
            )
            quadToRelative(
                dx1 = -20.0f,
                dy1 = -9.0f,
                dx2 = -40.5f,
                dy2 = -13.5f,
            )
            reflectiveQuadTo(
                x1 = 360.0f,
                y1 = 630.0f,
            )
            quadToRelative(
                dx1 = -23.0f,
                dy1 = 0.0f,
                dx2 = -43.5f,
                dy2 = 4.5f,
            )
            reflectiveQuadTo(
                x1 = 276.0f,
                y1 = 648.0f,
            )
            quadToRelative(
                dx1 = -17.0f,
                dy1 = 8.0f,
                dx2 = -26.5f,
                dy2 = 22.5f,
            )
            reflectiveQuadTo(
                x1 = 240.0f,
                y1 = 702.0f,
            )
            lineToRelative(dx = 0.0f, dy = 18.0f)
            close()
            moveToRelative(dx = 320.0f, dy = -60.0f)
            lineToRelative(dx = 160.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -60.0f)
            lineTo(x = 560.0f, y = 600.0f)
            lineToRelative(dx = 0.0f, dy = 60.0f)
            close()
            moveToRelative(dx = -200.0f, dy = -60.0f)
            quadToRelative(
                dx1 = 25.0f,
                dy1 = 0.0f,
                dx2 = 42.5f,
                dy2 = -17.5f,
            )
            reflectiveQuadTo(
                x1 = 420.0f,
                y1 = 540.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -25.0f,
                dx2 = -17.5f,
                dy2 = -42.5f,
            )
            reflectiveQuadTo(
                x1 = 360.0f,
                y1 = 480.0f,
            )
            quadToRelative(
                dx1 = -25.0f,
                dy1 = 0.0f,
                dx2 = -42.5f,
                dy2 = 17.5f,
            )
            reflectiveQuadTo(
                x1 = 300.0f,
                y1 = 540.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 25.0f,
                dx2 = 17.5f,
                dy2 = 42.5f,
            )
            reflectiveQuadTo(
                x1 = 360.0f,
                y1 = 600.0f,
            )
            close()
            moveToRelative(dx = 200.0f, dy = -60.0f)
            lineToRelative(dx = 160.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -60.0f)
            lineTo(x = 560.0f, y = 480.0f)
            lineToRelative(dx = 0.0f, dy = 60.0f)
            close()
            moveTo(x = 440.0f, y = 360.0f)
            lineToRelative(dx = 80.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -200.0f)
            lineToRelative(dx = -80.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = 200.0f)
            close()
            moveToRelative(dx = 40.0f, dy = 220.0f)
            close()
        }
    }
}

@Preview(showBackground = true)
@Composable
private fun Preview() {
    Icon(imageVector = OutlinedBadgeIcon, contentDescription = null)
}
