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

export const IconKubernetes24 = 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={color}
                    fillRule="evenodd"
                    d="M8.249 22c-.48 0-.943-.22-1.249-.616l-4.648-5.96a1.64 1.64 0 0 1-.306-1.397L3.71 6.59c.106-.493.426-.89.865-1.11l6.736-3.315c.213-.11.452-.164.692-.164s.479.055.692.164l6.736 3.302c.439.219.758.616.865 1.11l1.664 7.438c.106.493 0 1-.306 1.397L17 21.38c-.306.384-.77.62-1.25.62zm11.026-8.335.044.01a.44.44 0 0 1 .294.695.44.44 0 0 1-.488.155l-.007-.001-.004-.002-.004-.001-.113-.024a4 4 0 0 1-.392-.151 4 4 0 0 0-.762-.224.35.35 0 0 0-.245.09l-.187-.032a5.67 5.67 0 0 1-2.52 3.16q.032.091.074.176a.34.34 0 0 0-.034.257q.16.365.388.692.126.167.234.347l.04.082.017.036a.438.438 0 0 1-.695.526.4.4 0 0 1-.095-.154l-.015-.03-.04-.082a4 4 0 0 1-.126-.399 4 4 0 0 0-.3-.733.35.35 0 0 0-.223-.135l-.043-.076-.05-.092a5.67 5.67 0 0 1-4.034-.01l-.099.179a.36.36 0 0 0-.188.091 3 3 0 0 0-.339.783 4 4 0 0 1-.126.4 2 2 0 0 1-.054.11v.002a.44.44 0 0 1-.425.29.44.44 0 0 1-.409-.311.44.44 0 0 1 .044-.352l.02-.043.036-.074q.108-.181.235-.349.231-.335.395-.709a.43.43 0 0 0-.039-.246l.08-.19a5.67 5.67 0 0 1-2.52-3.138l-.191.033a.5.5 0 0 0-.251-.088 4 4 0 0 0-.762.223 4 4 0 0 1-.392.15l-.071.016-.042.01h-.005l-.004.002h-.006a.44.44 0 0 1-.568-.498.44.44 0 0 1 .374-.35l.006-.002.004-.001.008-.002c.035-.009.077-.02.108-.025q.21-.029.42-.034a4 4 0 0 0 .783-.128.6.6 0 0 0 .188-.19l.183-.052a5.63 5.63 0 0 1 .892-3.931l-.14-.125a.5.5 0 0 0-.088-.251 4 4 0 0 0-.65-.456 4 4 0 0 1-.363-.211 2 2 0 0 1-.09-.073L5.936 8.2a.46.46 0 0 1-.107-.642.42.42 0 0 1 .348-.154.52.52 0 0 1 .336.139l.066.053q.153.144.288.305.268.294.589.53c.08.042.173.051.26.026q.077.056.157.111A5.63 5.63 0 0 1 11.52 6.82l.01-.184a.5.5 0 0 0 .142-.225q.014-.399-.049-.79a4 4 0 0 1-.06-.415l.001-.076v-.048a.437.437 0 0 1 .615-.444.44.44 0 0 1 .259.444v.046c.001.027.002.056 0 .078q-.017.209-.059.414a4 4 0 0 0-.05.79.35.35 0 0 0 .143.218v.011l.01.184a5.73 5.73 0 0 1 3.629 1.748l.166-.119q.137.023.265-.028.32-.238.59-.532.135-.16.288-.305l.073-.058.024-.019a.44.44 0 1 1 .544.682l-.035.028-.061.05a4 4 0 0 1-.363.21q-.348.196-.65.456a.34.34 0 0 0-.082.247l-.155.138a5.65 5.65 0 0 1 .91 3.922l.177.051a.5.5 0 0 0 .188.19q.387.101.784.128.21.004.419.034c.023.004.054.011.082.018m-4.108-4.428-1.868 1.32-.007-.003a.386.386 0 0 1-.612-.293l-.002-.001-.13-2.282a4.55 4.55 0 0 1 2.618 1.259m-3.52 2.501h.704l.437.545-.157.68-.631.303-.633-.304-.157-.68zm-.66-3.68a5 5 0 0 1 .466-.08l-.13 2.285-.01.005a.383.383 0 0 1-.419.366.4.4 0 0 1-.192-.072l-.004.003-1.88-1.33a4.5 4.5 0 0 1 2.169-1.177m-2.85 2.032 1.716 1.53-.002.01a.384.384 0 0 1-.151.66l-.002.007-2.2.633c-.11-.991.115-1.99.639-2.84m2.298 4.066-.874 2.106a4.5 4.5 0 0 1-1.816-2.266L10 13.614l.003.005a.38.38 0 0 1 .257.04.385.385 0 0 1 .167.488zm2.58 2.708a4.53 4.53 0 0 1-2.466-.126l1.11-2h.001a.385.385 0 0 1 .679 0h.008l1.113 2.003q-.217.072-.445.123m1.433-.594-.883-2.127.003-.004a.384.384 0 0 1 .423-.53l.004-.004 2.275.383a4.5 4.5 0 0 1-1.822 2.282m2.061-3.347-2.21-.635-.003-.01a.386.386 0 0 1-.264-.489.4.4 0 0 1 .113-.17v-.005l1.706-1.523a4.56 4.56 0 0 1 .658 2.832"
                    clipRule="evenodd"
                />
            </svg>
        );
    }
);
