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

export const IconLinuxColor24 = 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="#202020"
                    d="M19.626 17.761c-.142-.159-.21-.455-.282-.77-.072-.314-.152-.653-.41-.873l-.002-.001a1.063 1.063 0 00-.317-.191c.359-1.064.218-2.124-.144-3.082-.445-1.175-1.22-2.199-1.814-2.9-.663-.836-1.312-1.63-1.3-2.804.02-1.791.198-5.112-2.954-5.117-.128 0-.262.005-.4.016-3.523.284-2.589 4.005-2.64 5.25-.065.912-.25 1.63-.877 2.52-.736.876-1.773 2.293-2.263 3.768-.232.696-.342 1.406-.24 2.077a1.578 1.578 0 00-.092.09c-.216.23-.376.51-.554.698-.166.166-.403.23-.663.323s-.546.23-.72.564l-.001.002a1.003 1.003 0 00-.108.483c0 .154.023.31.046.461.048.313.096.61.032.81-.206.563-.233.953-.088 1.235.146.284.445.409.783.48.675.14 1.59.105 2.312.488.772.403 1.555.547 2.18.404.453-.103.82-.373 1.01-.788.487-.002 1.024-.209 1.882-.256.583-.047 1.31.207 2.147.16.022.091.054.178.097.262l.001.002c.325.649.928.945 1.57.895.643-.051 1.327-.43 1.88-1.088l-.1-.085.101.084c.527-.64 1.402-.904 1.982-1.254.29-.175.525-.394.544-.712.018-.318-.17-.674-.598-1.15z"
                />
                <path
                    fill="#F8BF11"
                    d="M19.959 18.897c-.011.196-.153.342-.416.5-.524.317-1.454.592-2.048 1.311-.516.614-1.145.951-1.699.995-.553.043-1.03-.186-1.313-.752v-.002c-.176-.333-.103-.857.044-1.41.147-.554.359-1.122.387-1.584v-.001c.03-.592.063-1.109.163-1.508.1-.398.256-.668.533-.82a1.79 1.79 0 01.039-.02c.03.512.285 1.035.733 1.148.49.13 1.198-.292 1.496-.635l.175-.007c.262-.006.482.01.706.205l.002.002c.172.146.254.422.325.731.072.31.128.647.342.887.41.455.542.763.531.96zM9.988 20.348v.003c-.047.622-.398.96-.937 1.083-.538.123-1.268 0-1.997-.38-.806-.428-1.766-.385-2.382-.514-.308-.064-.508-.16-.6-.34-.093-.18-.095-.493.101-1.028l.001-.002v-.002c.098-.3.026-.626-.021-.933-.047-.307-.07-.586.035-.78v-.002c.135-.259.332-.351.576-.439.244-.088.534-.156.762-.386l.002-.001v-.001c.212-.223.371-.503.557-.701.157-.168.314-.279.55-.28h.008c.042 0 .086.003.132.01.314.048.588.268.852.625l.761 1.388v.001c.203.423.631.889.994 1.363.362.475.643.951.606 1.316z"
                />
                <path
                    fill="#D6A312"
                    d="M13.785 7.411c-.06-.12-.186-.233-.398-.32l-.001-.001c-.442-.19-.634-.203-.881-.363-.402-.258-.734-.349-1.01-.348-.144 0-.273.026-.388.066-.336.116-.56.357-.7.49-.027.025-.063.05-.148.113-.086.063-.216.158-.402.297-.165.124-.219.285-.162.475.057.189.24.407.573.595l.001.001c.207.122.349.286.511.416.081.065.167.123.27.167.102.044.222.074.372.083.353.02.612-.086.842-.217.23-.13.424-.29.647-.363.458-.143.784-.431.886-.704a.463.463 0 00-.012-.387z"
                />
                <path
                    fill="#202020"
                    d="M12.626 8.086c-.364.19-.789.42-1.241.42-.452 0-.809-.209-1.066-.412-.128-.102-.232-.203-.31-.277-.137-.107-.12-.258-.065-.254.094.012.108.135.167.19.08.076.18.173.302.269.243.192.566.38.972.38.405 0 .877-.238 1.165-.4.164-.092.371-.256.541-.38.13-.096.125-.21.232-.198.107.013.028.127-.122.258s-.385.305-.575.404z"
                />
                <path
                    fill="#fff"
                    d="M18.195 15.848a2.38 2.38 0 00-.162 0c.125-.395-.151-.685-.888-1.018-.763-.336-1.371-.303-1.474.378a1.42 1.42 0 00-.016.11c-.057.02-.114.044-.172.076-.359.196-.554.552-.663.989-.109.436-.14.963-.17 1.556-.018.298-.141.701-.265 1.128-1.25.893-2.987 1.28-4.46.273a6.546 6.546 0 00-.333-.468 19.726 19.726 0 00-.23-.294c.152 0 .28-.024.384-.071a.486.486 0 00.265-.274c.09-.242 0-.583-.288-.972-.288-.39-.775-.829-1.49-1.268-.527-.327-.82-.728-.958-1.164-.138-.435-.119-.906-.013-1.371.204-.892.727-1.76 1.061-2.305.09-.066.032.123-.338.81-.331.629-.952 2.079-.103 3.211a6.732 6.732 0 01.539-2.396c.47-1.066 1.454-2.916 1.532-4.39a4.082 4.082 0 00.24.158c.181.107.317.262.493.403a1.215 1.215 0 00.821.286c.342 0 .61-.112.832-.239.241-.138.434-.291.617-.35.387-.122.695-.336.87-.585.3 1.184.999 2.895 1.448 3.73.239.442.714 1.383.919 2.517.13-.004.273.015.426.054.537-1.391-.454-2.889-.908-3.306-.183-.178-.192-.257-.1-.254.49.436 1.137 1.31 1.371 2.298.108.45.13.923.016 1.39.056.024.113.05.17.077.862.419 1.18.784 1.027 1.281z"
                />
                <path
                    fill="#E6E6E6"
                    d="M12.058 12.088c-.795.003-1.57.36-2.227 1.023-.656.663-1.163 1.603-1.453 2.698l.087.055v.004c.671.427 1.15.854 1.445 1.254.313.423.451.835.32 1.192a.734.734 0 01-.388.404c-.018.009-.039.015-.058.022.106.139.21.282.305.429 1.349.897 2.917.565 4.095-.247.115-.396.22-.765.234-.996.03-.594.06-1.131.176-1.6.118-.471.346-.9.777-1.136.024-.013.05-.021.073-.033a1.08 1.08 0 01.032-.135c-.347-.888-.845-1.627-1.444-2.142-.6-.515-1.28-.788-1.974-.792zm3.384 3.078l-.001.008v-.003-.005z"
                />
                <path
                    fill="#fff"
                    d="M13.826 6.047a1.5 1.5 0 01-.128.639c-.05.116-.109.213-.179.298a5.965 5.965 0 00-.311-.128c-.07-.027-.125-.045-.182-.064.041-.05.122-.108.152-.182a.957.957 0 00.072-.347l.002-.015a.961.961 0 00-.05-.337.62.62 0 00-.155-.262.318.318 0 00-.222-.101h-.012a.326.326 0 00-.216.085.62.62 0 00-.174.25.966.966 0 00-.072.349v.014c-.002.071.002.137.013.2a2.533 2.533 0 00-.506-.172 1.699 1.699 0 01-.014-.19v-.018a1.479 1.479 0 01.126-.638c.09-.204.201-.35.358-.47a.79.79 0 01.494-.176h.008c.179 0 .332.053.489.167.159.115.274.26.366.462.09.198.135.39.14.619v.017zM11.126 6.28a1.477 1.477 0 00-.396.18.89.89 0 00.003-.213v-.012a.929.929 0 00-.068-.274.528.528 0 00-.138-.203.225.225 0 00-.17-.063c-.06.005-.11.034-.157.092a.532.532 0 00-.1.222.895.895 0 00-.019.293l.001.012a.91.91 0 00.068.275.524.524 0 00.166.224c-.059.045-.098.077-.147.113l-.11.081a1.009 1.009 0 01-.23-.342 1.532 1.532 0 01-.128-.545v-.002a1.53 1.53 0 01.065-.556c.055-.18.13-.31.238-.417a.513.513 0 01.378-.169c.119 0 .225.04.335.128.119.095.209.216.284.388.076.171.116.343.127.545v.002c.006.085.005.165-.002.242z"
                />
                <path
                    fill="#202020"
                    d="M11.723 6.765c.015.048.093.04.138.063.04.02.071.065.115.066.043.002.109-.014.114-.056.007-.056-.074-.09-.126-.111-.067-.026-.153-.04-.216-.005-.014.008-.03.027-.025.043zM11.263 6.765c-.015.048-.093.04-.137.063-.04.02-.072.065-.116.066-.042.002-.108-.014-.114-.056-.007-.056.074-.09.126-.111.067-.026.153-.04.216-.005.014.008.03.027.025.043z"
                />
            </svg>
        );
    }
);
