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

export const IconPostgresColor24 = 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="#000"
                    d="M21.622 13.976c-.117-.352-.421-.597-.815-.656a1.867 1.867 0 00-.65.036c-.44.09-.765.125-1.002.132.896-1.514 1.626-3.241 2.045-4.866.68-2.628.317-3.825-.107-4.367-1.122-1.433-2.759-2.203-4.733-2.227a8.386 8.386 0 00-2.46.345 9.16 9.16 0 00-1.439-.132c-.95-.015-1.789.192-2.506.618a11.425 11.425 0 00-1.77-.445c-1.73-.284-3.125-.062-4.145.658-1.235.873-1.808 2.389-1.702 4.506.033.673.41 2.718 1.002 4.658.34 1.115.703 2.04 1.078 2.752.533 1.009 1.102 1.603 1.742 1.816.358.12 1.01.203 1.694-.367.087.105.203.21.357.306.195.124.434.224.672.284.86.215 1.664.16 2.35-.14.005.122.008.239.01.34l.016.473c.04 1.013.11 1.8.314 2.352l.042.126c.102.311.272.834.706 1.243.448.424.991.553 1.489.553.25 0 .487-.032.696-.077.744-.16 1.589-.402 2.2-1.273.578-.822.859-2.061.91-4.014l.018-.158.012-.103.136.012.035.002c.758.035 1.684-.126 2.253-.39.45-.21 1.891-.97 1.552-1.997z"
                />
                <path
                    fill="#336791"
                    d="M20.326 14.176c-2.253.465-2.408-.298-2.408-.298 2.379-3.53 3.373-8.01 2.515-9.107-2.34-2.991-6.394-1.577-6.461-1.54l-.022.004a8.033 8.033 0 00-1.503-.157c-1.02-.016-1.793.268-2.38.713 0 0-7.23-2.979-6.893 3.745.072 1.43 2.05 10.824 4.41 7.987.863-1.038 1.697-1.915 1.697-1.915.414.275.91.415 1.429.365l.04-.034c-.012.129-.007.255.016.404-.608.68-.429.798-1.644 1.049-1.23.253-.508.704-.036.822.572.143 1.895.346 2.789-.905l-.036.142c.238.191.406 1.241.378 2.194-.029.952-.047 1.605.14 2.116.188.51.375 1.66 1.973 1.317 1.335-.286 2.027-1.027 2.123-2.264.069-.88.223-.75.233-1.536l.124-.372c.143-1.192.023-1.576.845-1.397l.2.017c.606.028 1.398-.097 1.863-.313 1.001-.465 1.596-1.241.608-1.037z"
                />
                <path
                    fill="#fff"
                    d="M10.49 8.176c-.203-.028-.386-.002-.48.068a.176.176 0 00-.072.118c-.012.083.047.176.083.224.102.135.25.228.398.248a.452.452 0 00.064.004c.246 0 .47-.191.489-.332.025-.177-.232-.295-.481-.33zm6.727.006c-.02-.139-.267-.179-.5-.146-.235.033-.462.138-.443.277.015.108.21.293.442.293a.42.42 0 00.059-.004.569.569 0 00.321-.176c.082-.086.13-.182.12-.244z"
                />
                <path
                    fill="#fff"
                    d="M21.076 14.123c-.086-.26-.363-.343-.822-.248-1.364.281-1.853.086-2.013-.032 1.06-1.615 1.933-3.568 2.403-5.39.223-.862.346-1.663.356-2.317.011-.716-.11-1.243-.363-1.565-1.015-1.297-2.505-1.993-4.309-2.012-1.24-.014-2.288.303-2.49.392a6.21 6.21 0 00-1.402-.18c-.931-.015-1.736.208-2.402.662a10.723 10.723 0 00-1.952-.512c-1.581-.254-2.838-.061-3.735.574-1.07.758-1.563 2.113-1.468 4.027.032.644.4 2.626.978 4.523.763 2.497 1.591 3.91 2.463 4.202.102.034.22.058.35.058.318 0 .708-.144 1.113-.631a40.17 40.17 0 011.535-1.737c.343.184.72.286 1.104.297l.003.03c-.066.079-.131.159-.195.24-.266.339-.322.41-1.18.586-.245.05-.894.184-.903.64-.01.496.767.705.855.727.309.077.606.116.89.116.69 0 1.296-.227 1.781-.666-.015 1.772.06 3.518.272 4.05.174.435.6 1.5 1.944 1.5.197 0 .415-.024.653-.075 1.403-.3 2.013-.92 2.249-2.288.126-.73.342-2.476.444-3.411.215.067.491.097.79.097.624 0 1.344-.132 1.795-.342.507-.235 1.422-.813 1.256-1.315zM17.734 7.8a5.673 5.673 0 01-.083.789c-.043.281-.088.573-.1.926-.01.344.033.701.074 1.047.084.699.17 1.418-.163 2.127a2.78 2.78 0 01-.148-.303 5.909 5.909 0 00-.256-.486c-.485-.869-1.62-2.905-1.039-3.736.173-.247.613-.501 1.715-.364zm-1.336-4.681c1.616.036 2.895.64 3.8 1.797.694.887-.07 4.924-2.284 8.407a13.832 13.832 0 00-.067-.085l-.028-.035c.572-.944.46-1.879.36-2.707-.04-.34-.079-.661-.069-.963.01-.32.052-.594.093-.86.05-.326.102-.664.088-1.063a.442.442 0 00.009-.15c-.036-.382-.473-1.526-1.362-2.56a6.134 6.134 0 00-2.165-1.628 7.299 7.299 0 011.625-.153zM7.354 15.316c-.447.538-.756.435-.857.401-.662-.22-1.429-1.618-2.106-3.835-.585-1.918-.927-3.847-.954-4.388-.086-1.71.329-2.902 1.232-3.543 1.47-1.042 3.887-.418 4.858-.102l-.042.04C7.89 5.5 7.929 8.25 7.933 8.418c0 .065.005.157.013.283.027.463.078 1.323-.058 2.298a2.906 2.906 0 00.964 2.62c-.273.292-.866.939-1.498 1.698zm1.703-2.272a2.351 2.351 0 01-.616-1.969c.144-1.03.09-1.926.062-2.408l-.01-.173c.233-.207 1.312-.785 2.082-.608.35.08.565.32.653.73.46 2.13.061 3.017-.26 3.73a6.822 6.822 0 00-.181.43l-.042.11c-.105.281-.202.542-.262.79a1.986 1.986 0 01-1.426-.632zm.08 2.871a1.234 1.234 0 01-.372-.16c.068-.032.188-.075.397-.118 1.01-.208 1.166-.355 1.507-.787.078-.1.167-.212.29-.349.182-.204.266-.17.417-.107.123.05.243.205.291.374.023.08.049.232-.035.35-.712.997-1.75.984-2.494.797zm5.288 4.921c-1.236.265-1.673-.366-1.962-1.087-.186-.465-.277-2.564-.212-4.882a.28.28 0 00-.012-.089 1.175 1.175 0 00-.035-.164c-.097-.337-.332-.619-.614-.736-.112-.046-.318-.132-.565-.068.053-.218.144-.463.243-.729l.042-.111c.047-.126.105-.257.167-.395.336-.746.796-1.768.297-4.077-.187-.864-.811-1.287-1.758-1.188-.567.058-1.086.287-1.345.419a4.335 4.335 0 00-.154.082c.072-.872.345-2.5 1.366-3.53.643-.649 1.5-.969 2.543-.952 2.056.034 3.375 1.09 4.119 1.969.641.757.988 1.52 1.127 1.932-1.042-.106-1.75.1-2.11.613-.782 1.118.427 3.286 1.009 4.328.106.191.198.357.227.427.19.458.434.764.613.988.055.068.108.135.149.193-.316.09-.883.301-.831 1.352-.042.527-.338 2.996-.489 3.868-.198 1.152-.622 1.581-1.815 1.837zm5.16-5.904c-.323.15-.863.262-1.376.286-.567.027-.855-.063-.923-.119-.032-.655.212-.723.47-.795.04-.012.08-.023.118-.036.024.02.05.038.078.057.456.3 1.268.333 2.415.096l.012-.002c-.154.144-.419.339-.794.513z"
                />
            </svg>
        );
    }
);
