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 OutlinedGameIcon: ImageVector by lazy {
    icon(
        name = "OutlinedGameIcon",
        viewportWidth = 960.0f,
        viewportHeight = 960.0f,
    ) {
        iconPath {
            moveTo(x = 182.0f, y = 760.0f)
            quadToRelative(
                dx1 = -51.0f,
                dy1 = 0.0f,
                dx2 = -79.0f,
                dy2 = -35.5f,
            )
            reflectiveQuadTo(
                x1 = 82.0f,
                y1 = 638.0f,
            )
            lineToRelative(dx = 42.0f, dy = -300.0f)
            quadToRelative(
                dx1 = 9.0f,
                dy1 = -60.0f,
                dx2 = 53.5f,
                dy2 = -99.0f,
            )
            reflectiveQuadTo(
                x1 = 282.0f,
                y1 = 200.0f,
            )
            lineToRelative(dx = 396.0f, dy = 0.0f)
            quadToRelative(
                dx1 = 60.0f,
                dy1 = 0.0f,
                dx2 = 104.5f,
                dy2 = 39.0f,
            )
            reflectiveQuadToRelative(
                dx1 = 53.5f,
                dy1 = 99.0f,
            )
            lineToRelative(dx = 42.0f, dy = 300.0f)
            quadToRelative(
                dx1 = 7.0f,
                dy1 = 51.0f,
                dx2 = -21.0f,
                dy2 = 86.5f,
            )
            reflectiveQuadTo(
                x1 = 778.0f,
                y1 = 760.0f,
            )
            quadToRelative(
                dx1 = -21.0f,
                dy1 = 0.0f,
                dx2 = -39.0f,
                dy2 = -7.5f,
            )
            reflectiveQuadTo(
                x1 = 706.0f,
                y1 = 730.0f,
            )
            lineToRelative(dx = -90.0f, dy = -90.0f)
            lineTo(x = 344.0f, y = 640.0f)
            lineToRelative(dx = -90.0f, dy = 90.0f)
            quadToRelative(
                dx1 = -15.0f,
                dy1 = 15.0f,
                dx2 = -33.0f,
                dy2 = 22.5f,
            )
            reflectiveQuadToRelative(
                dx1 = -39.0f,
                dy1 = 7.5f,
            )
            close()
            moveToRelative(dx = 16.0f, dy = -86.0f)
            lineToRelative(dx = 114.0f, dy = -114.0f)
            lineToRelative(dx = 336.0f, dy = 0.0f)
            lineToRelative(dx = 114.0f, dy = 114.0f)
            quadToRelative(
                dx1 = 2.0f,
                dy1 = 2.0f,
                dx2 = 16.0f,
                dy2 = 6.0f,
            )
            quadToRelative(
                dx1 = 11.0f,
                dy1 = 0.0f,
                dx2 = 17.5f,
                dy2 = -6.5f,
            )
            reflectiveQuadTo(
                x1 = 800.0f,
                y1 = 656.0f,
            )
            lineToRelative(dx = -44.0f, dy = -308.0f)
            quadToRelative(
                dx1 = -4.0f,
                dy1 = -29.0f,
                dx2 = -26.0f,
                dy2 = -48.5f,
            )
            reflectiveQuadTo(
                x1 = 678.0f,
                y1 = 280.0f,
            )
            lineTo(x = 282.0f, y = 280.0f)
            quadToRelative(
                dx1 = -30.0f,
                dy1 = 0.0f,
                dx2 = -52.0f,
                dy2 = 19.5f,
            )
            reflectiveQuadTo(
                x1 = 204.0f,
                y1 = 348.0f,
            )
            lineToRelative(dx = -44.0f, dy = 308.0f)
            quadToRelative(
                dx1 = -2.0f,
                dy1 = 11.0f,
                dx2 = 4.5f,
                dy2 = 17.5f,
            )
            reflectiveQuadTo(
                x1 = 182.0f,
                y1 = 680.0f,
            )
            quadToRelative(
                dx1 = 2.0f,
                dy1 = 0.0f,
                dx2 = 16.0f,
                dy2 = -6.0f,
            )
            close()
            moveToRelative(dx = 482.0f, dy = -154.0f)
            quadToRelative(
                dx1 = 17.0f,
                dy1 = 0.0f,
                dx2 = 28.5f,
                dy2 = -11.5f,
            )
            reflectiveQuadTo(
                x1 = 720.0f,
                y1 = 480.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -17.0f,
                dx2 = -11.5f,
                dy2 = -28.5f,
            )
            reflectiveQuadTo(
                x1 = 680.0f,
                y1 = 440.0f,
            )
            quadToRelative(
                dx1 = -17.0f,
                dy1 = 0.0f,
                dx2 = -28.5f,
                dy2 = 11.5f,
            )
            reflectiveQuadTo(
                x1 = 640.0f,
                y1 = 480.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 17.0f,
                dx2 = 11.5f,
                dy2 = 28.5f,
            )
            reflectiveQuadTo(
                x1 = 680.0f,
                y1 = 520.0f,
            )
            close()
            moveToRelative(dx = -80.0f, dy = -120.0f)
            quadToRelative(
                dx1 = 17.0f,
                dy1 = 0.0f,
                dx2 = 28.5f,
                dy2 = -11.5f,
            )
            reflectiveQuadTo(
                x1 = 640.0f,
                y1 = 360.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = -17.0f,
                dx2 = -11.5f,
                dy2 = -28.5f,
            )
            reflectiveQuadTo(
                x1 = 600.0f,
                y1 = 320.0f,
            )
            quadToRelative(
                dx1 = -17.0f,
                dy1 = 0.0f,
                dx2 = -28.5f,
                dy2 = 11.5f,
            )
            reflectiveQuadTo(
                x1 = 560.0f,
                y1 = 360.0f,
            )
            quadToRelative(
                dx1 = 0.0f,
                dy1 = 17.0f,
                dx2 = 11.5f,
                dy2 = 28.5f,
            )
            reflectiveQuadTo(
                x1 = 600.0f,
                y1 = 400.0f,
            )
            close()
            moveTo(x = 310.0f, y = 520.0f)
            lineToRelative(dx = 60.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -70.0f)
            lineToRelative(dx = 70.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -60.0f)
            lineToRelative(dx = -70.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = -70.0f)
            lineToRelative(dx = -60.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = 70.0f)
            lineToRelative(dx = -70.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = 60.0f)
            lineToRelative(dx = 70.0f, dy = 0.0f)
            lineToRelative(dx = 0.0f, dy = 70.0f)
            close()
            moveToRelative(dx = 170.0f, dy = -40.0f)
            close()
        }
    }
}

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