import { forwardRef, useMemo } from 'react';
import { IconProps } from './types';

export const IconSnykColor24 = forwardRef<SVGSVGElement, IconProps>(
    ({ color = 'currentColor', title, ...props }, svgRef) => {
        const titleId = useMemo(
            () =>
                title
                    ? 'title-' + Math.random().toString(36).substr(2, 9)
                    : undefined,
            [title]
        );
        return (
            <svg
                xmlns="http://www.w3.org/2000/svg"
                width={24}
                height={24}
                fill="none"
                viewBox="0 0 24 24"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill="#fff"
                    d="M17.164 6.805H6.868c0-.64.931-2.575 2.792-5.805l.773 5.11h3.146L14.35 1c1.875 3.273 2.813 5.208 2.813 5.805z"
                />
                <path
                    fill="#fff"
                    d="M12 23l-7-4.873V6.754s2.588-.95 7.01-.95c4.42 0 6.99.95 6.99.95v11.373L12 23z"
                />
                <path
                    fill="#DBDBDB"
                    d="M12 22.315l-6.553-4.543V7.21s2.45-.881 6.554-.881v15.986z"
                />
                <path
                    fill="#C6C6C6"
                    d="M12.01 6.329H12v15.973l6.496-4.53V7.21s-2.384-.881-6.487-.881z"
                />
                <path
                    fill="#3B3B63"
                    d="M15.546 19.83l-.552-4.77h-3.037v7.266l.043.041a91.578 91.578 0 003.546-2.537z"
                />
                <path
                    fill="#53537A"
                    d="M8.457 19.867l3.543 2.5.002-7.453H8.933l-.476 4.954z"
                />
                <path
                    fill="#BC9375"
                    d="M13.517 18.455c0 .82-.783 1.226-1.5 1.226-.72 0-1.518-.406-1.518-1.226"
                />
                <path
                    fill="#fff"
                    d="M12.008 18.88c-.576 0-.857-.414-.857-1.265h.275c0 .996.393.996.582.996.189 0 .582 0 .582-.996h.275c0 .85-.28 1.264-.857 1.264z"
                />
                <path
                    fill="#C49A7E"
                    d="M12 17.823c.178.456.52.684 1.03.684.497 0 1.016-.256 1.253-.89.33-.885.327-2.117.327-2.117s1.468-1.797 1.468-2.404H12v4.727z"
                />
                <path
                    fill="#D8B7A0"
                    d="M7.864 13.096c0 .703 1.455 2.404 1.455 2.404s-.003 1.232.328 2.118c.236.632.755.889 1.253.889.509 0 .875-.228 1.1-.684v-4.727H7.865z"
                />
                <path
                    fill="#3B3B63"
                    d="M15.903 9.05c-1.132-1.134-1.415-3.5-1.415-3.5-.211.746-.67 2.943-.67 2.943s-.893-.282-1.854-.283c-.031 0-.031 2.96 0 8.883l.915-.647.17-3.137.974 1.087 1.255.358.47-.326c.199-.273.265-.505.313-.626.174-.439-.217-3.795-.217-3.795-.139-.284.059-.957.059-.957z"
                />
                <path
                    fill="#53537A"
                    d="M10.208 8.493s-.46-2.197-.67-2.943c0 0-.284 2.366-1.416 3.5 0 0 .198.673.059.957 0 0-.391 3.357-.217 3.795.048.12.115.353.314.626 0-.002.47.326.47.326l1.254-.359.974-1.086.17 3.137.855.629V8.193c-.964.002-1.793.3-1.793.3z"
                />
                <path
                    fill="#333152"
                    d="M15.11 3.358c.188.342 1.803 3.505 1.803 4.6l-.716 1.906c.12 1.076.362 3.413.18 3.87-.112.283-.54.864-.906 1.334l.5 4.465-.677.477-.376-3.263a5.22 5.22 0 01-.248 1.002c-.156.42-.433.739-.788.927-.02 1.008-.97 1.551-1.866 1.551-.903 0-1.861-.543-1.882-1.55a1.699 1.699 0 01-.79-.928 5.184 5.184 0 01-.242-.963l-.36 3.284-.68-.484.491-4.504c-.369-.473-.805-1.063-.918-1.348-.182-.457.05-2.794.17-3.87l-.758-1.973v-.064c0-1.095 1.657-4.127 1.845-4.469l.536-.96.49 3.34.264 1.804.348.558c.334-.11.9-.263 1.475-.263.574 0 1.145.154 1.48.264l.348-.56.752-5.143.526.96zm-3.094 16.153c.396 0 .96-.175 1.101-.64l-.044.002c-.077 0-.15-.007-.22-.016-.204.278-.522.362-.845.362-.322 0-.64-.085-.844-.363-.07.01-.143.017-.22.017l-.045-.001c.143.464.715.639 1.117.639zm-.464-.763c.123.09.275.14.456.14s.332-.05.455-.14a1.48 1.48 0 01-.264-.149c-.071.02-.139.02-.191.02-.052 0-.12 0-.192-.02a1.444 1.444 0 01-.264.149zm2.816-3.464c.487-.591 1.22-1.543 1.326-1.81.08-.273-.057-2.091-.23-3.615l-.01-.085.144-.378c-.474-.494-.805-1.17-1.03-1.808l-.03.2-.748 1.201-.291-.121c-.008-.003-.77-.315-1.494-.315-.729 0-1.479.311-1.486.315l-.293.122-.748-1.201-.022-.154c-.229.632-.56 1.296-1.03 1.779l.136.36-.01.085c-.173 1.524-.31 3.342-.227 3.623.103.26.837 1.211 1.323 1.802l.081.098v.127c0 .012.001 1.18.305 1.994.22.59.71.653.91.653.503 0 .716-.451.725-.47.118-.227.177-.6.177-1.118h.304c0 .416.064.79.19 1.12.008.016.227.47.733.47a.94.94 0 00.909-.654c.305-.817.305-1.983.305-1.995v-.126l.08-.1z"
                />
                <path
                    fill="#333152"
                    d="M14.285 12.107H12.819v.015c0 .5.443.905.962.905.52 0 .962-.405.962-.905v-.015h-.458z"
                />
                <path
                    fill="#fff"
                    d="M13.185 12.107v.015c0 .297.245.538.55.538.305 0 .55-.24.55-.538v-.015h-1.1z"
                />
                <path
                    fill="#333152"
                    d="M13.647 12.107l-.007.001c.032.007.05.077.043.125a.146.146 0 01-.145.123c.021.094.1.17.204.184a.242.242 0 00.275-.201c.014-.096-.033-.232-.112-.232h-.258zM10.746 12.107H9.281v.015c0 .5.442.905.961.905.52 0 .962-.405.962-.905v-.015h-.458z"
                />
                <path
                    fill="#fff"
                    d="M9.647 12.107v.015c0 .297.245.538.55.538.304 0 .55-.24.55-.538v-.015h-1.1z"
                />
                <path
                    fill="#333152"
                    d="M10.367 12.107h-.258l-.007.001c.032.007.05.077.043.125a.146.146 0 01-.145.123c.02.094.1.17.203.184a.242.242 0 00.276-.201c.013-.096-.034-.232-.112-.232z"
                />
                <path
                    fill="#C49A7E"
                    d="M14.174 11.68c.062-.066.584-.645-.114-.645-.632 0-1.086.497-1.207.645h1.321z"
                />
                <path
                    fill="#D8B7A0"
                    d="M11.16 11.68c-.12-.148-.575-.645-1.206-.645-.699 0-.176.579-.115.645h1.321zM7.8 7.769c.042-.568.647-1.93 1.224-3.077l.154 1.05c-.059.391-.327 1.93-1.046 2.899L7.8 7.769z"
                />
                <path
                    fill="#C49A7E"
                    d="M14.85 5.66l.142-.968c.577 1.147 1.183 2.509 1.224 3.077l-.324.851c-.777-1.067-1.02-2.802-1.042-2.96z"
                />
                <path
                    fill="#fff"
                    d="M11.47 17.205c-.272-.201-.55-.454-.55-.649 0-.128.231-.521.231-.521h1.72s.225.349.225.521c0 .181-.28.428-.56.628-.096-.16-.217-.188-.273-.061a.495.495 0 00-.02.258c-.153.096-.265.158-.265.158s-.086-.049-.209-.128a.523.523 0 00-.016-.288c-.056-.128-.18-.098-.276.068a.307.307 0 00-.008.014z"
                />
                <path
                    fill="#333152"
                    d="M11.47 17.205c-.272-.201-.55-.454-.55-.649 0-.128.231-.521.231-.521h1.72s.225.349.225.521c0 .181-.28.428-.56.628-.096-.16-.217-.188-.273-.061a.495.495 0 00-.02.258c-.153.096-.265.158-.265.158s-.086-.049-.209-.128a.523.523 0 00-.016-.288c-.056-.128-.18-.098-.276.068a.307.307 0 00-.008.014z"
                />
            </svg>
        );
    }
);
