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

export const IconPostgresColor16 = 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={16}
                height={16}
                fill="none"
                viewBox="0 0 16 16"
                aria-hidden={!title}
                ref={svgRef}
                aria-labelledby={titleId}
                {...props}
            >
                {title ? <title id={titleId}>{title}</title> : null}
                <path
                    fill="#000"
                    d="M14.735 9.383a.687.687 0 00-.57-.46 1.306 1.306 0 00-.455.026 4.09 4.09 0 01-.702.092 13.53 13.53 0 001.432-3.406c.475-1.84.222-2.677-.075-3.056-.785-1.004-1.931-1.543-3.313-1.56a5.87 5.87 0 00-1.722.242 6.412 6.412 0 00-1.007-.092c-.665-.01-1.253.134-1.755.432A7.998 7.998 0 005.33 1.29c-1.212-.199-2.188-.044-2.902.46-.865.611-1.266 1.673-1.192 3.155.024.47.287 1.902.702 3.26.238.78.492 1.429.755 1.927.372.706.771 1.122 1.219 1.27.25.085.706.143 1.186-.256.06.073.142.146.25.214.136.087.303.157.47.199.601.15 1.165.113 1.645-.098l.008.237.01.332c.029.71.077 1.26.22 1.646l.03.088c.07.219.19.584.493.87.315.297.695.388 1.043.388.174 0 .34-.023.487-.054.52-.112 1.112-.282 1.54-.891.404-.576.601-1.443.637-2.81l.013-.11.008-.073.095.008.025.002c.53.024 1.179-.088 1.577-.273.315-.146 1.324-.679 1.086-1.398z"
                />
                <path
                    fill="#336791"
                    d="M13.828 9.523c-1.577.325-1.685-.209-1.685-.209 1.665-2.47 2.361-5.607 1.76-6.374C12.264.846 9.428 1.836 9.38 1.862l-.015.002a5.624 5.624 0 00-1.052-.11c-.714-.01-1.255.188-1.666.5 0 0-5.06-2.085-4.825 2.621.05 1.002 1.435 7.577 3.087 5.591.604-.726 1.187-1.34 1.187-1.34.29.192.637.29 1 .255l.03-.024c-.01.09-.006.179.01.283-.425.476-.3.559-1.15.734-.862.178-.356.493-.026.576.4.1 1.327.242 1.952-.634l-.025.1c.167.133.284.869.265 1.535-.02.667-.033 1.124.098 1.482.132.357.263 1.161 1.381.922.935-.2 1.419-.72 1.486-1.585.048-.616.156-.525.163-1.075l.087-.26c.1-.835.016-1.104.592-.979l.14.012c.423.02.978-.068 1.304-.22.7-.324 1.116-.868.425-.725z"
                />
                <path
                    fill="#fff"
                    d="M6.943 5.323c-.142-.02-.27-.001-.336.048a.123.123 0 00-.05.082c-.009.059.032.123.057.157a.44.44 0 00.28.174c.014.002.03.003.044.003.172 0 .329-.134.342-.233.018-.124-.162-.207-.337-.23zm4.709.004c-.014-.097-.187-.125-.35-.102-.165.023-.323.097-.31.194.01.076.147.205.309.205.014 0 .027 0 .041-.003a.399.399 0 00.225-.123c.057-.06.09-.127.085-.17z"
                />
                <path
                    fill="#fff"
                    d="M14.353 9.486c-.06-.182-.254-.24-.575-.174-.955.197-1.297.06-1.41-.022a13.128 13.128 0 001.683-3.772c.156-.604.242-1.165.25-1.623.007-.501-.079-.87-.255-1.095-.71-.909-1.754-1.396-3.016-1.409-.868-.01-1.602.212-1.744.275-.3-.075-.626-.12-.981-.126-.652-.01-1.215.145-1.681.463a7.505 7.505 0 00-1.367-.358c-1.107-.178-1.986-.043-2.614.402-.749.53-1.095 1.479-1.028 2.819.023.45.28 1.837.685 3.165.534 1.748 1.114 2.738 1.724 2.942.072.023.154.04.245.04.222 0 .495-.1.78-.442.346-.415.704-.82 1.074-1.215.24.128.503.2.773.207l.002.022a6.233 6.233 0 00-.137.168c-.186.237-.225.287-.827.41-.17.035-.625.13-.631.447-.008.348.537.495.598.51.217.054.425.08.623.08.483 0 .908-.158 1.247-.465-.01 1.24.041 2.462.19 2.835.122.304.42 1.05 1.361 1.05.138 0 .29-.017.458-.053.982-.21 1.408-.644 1.573-1.601.089-.512.24-1.733.311-2.388.15.047.344.068.554.068.436 0 .94-.093 1.256-.24.355-.164.995-.568.879-.92zM12.014 5.06c-.003.194-.03.37-.058.552-.03.198-.062.401-.07.649-.007.24.023.49.052.733.058.489.119.992-.115 1.489a1.948 1.948 0 01-.103-.213 4.162 4.162 0 00-.18-.34c-.339-.608-1.133-2.033-.726-2.615.12-.173.428-.35 1.2-.255zm-.936-3.276c1.132.025 2.027.448 2.66 1.257.486.622-.049 3.447-1.598 5.885l-.047-.06-.02-.024c.4-.66.322-1.315.253-1.895a4.563 4.563 0 01-.05-.674c.008-.224.038-.415.066-.601.035-.229.071-.465.061-.744a.31.31 0 00.007-.105c-.025-.268-.33-1.069-.953-1.793a4.293 4.293 0 00-1.516-1.14c.292-.06.69-.116 1.137-.106zm-6.33 8.539c-.313.376-.53.304-.6.28-.463-.155-1-1.133-1.474-2.685-.41-1.342-.65-2.692-.668-3.071-.06-1.197.23-2.032.862-2.48 1.03-.73 2.721-.293 3.401-.072l-.03.029C5.124 3.449 5.15 5.374 5.153 5.492c0 .045.004.11.009.198.02.324.055.926-.04 1.609a2.034 2.034 0 00.674 1.833 28.71 28.71 0 00-1.048 1.19zM5.94 8.73a1.646 1.646 0 01-.431-1.378c.1-.721.063-1.349.043-1.686l-.007-.121c.163-.145.919-.55 1.457-.426.246.056.396.224.458.511.322 1.49.043 2.112-.182 2.611-.046.103-.09.2-.127.3l-.03.078c-.073.197-.14.38-.183.553a1.39 1.39 0 01-.998-.442zm.056 2.01a.862.862 0 01-.26-.112c.047-.022.131-.053.277-.083.708-.146.817-.248 1.055-.551.055-.07.117-.148.203-.244.128-.143.186-.12.292-.075.086.035.17.143.204.262.016.056.034.162-.025.245-.498.697-1.224.688-1.746.558zm3.702 3.444c-.865.186-1.172-.256-1.374-.76-.13-.326-.194-1.796-.149-3.418a.195.195 0 00-.008-.062.818.818 0 00-.024-.115.792.792 0 00-.43-.515.606.606 0 00-.396-.048c.037-.152.101-.324.17-.51l.03-.078c.033-.088.074-.18.117-.277.235-.522.557-1.237.208-2.853-.131-.605-.568-.901-1.23-.832a2.84 2.84 0 00-1.05.35c.05-.61.241-1.75.956-2.47.45-.454 1.05-.678 1.78-.666 1.44.023 2.363.762 2.883 1.377.45.53.692 1.065.79 1.353-.73-.074-1.226.07-1.478.43-.547.781.3 2.3.706 3.029.075.134.14.25.16.298.132.321.304.536.429.692.038.048.075.095.104.135-.221.064-.618.211-.582.947-.029.369-.236 2.097-.342 2.707-.139.807-.436 1.107-1.27 1.286zm3.611-4.133c-.226.105-.604.184-.963.2-.396.02-.598-.044-.646-.083-.022-.458.149-.506.329-.556.028-.008.056-.016.083-.026a.682.682 0 00.054.04c.32.21.888.234 1.69.068l.01-.002a2.16 2.16 0 01-.557.36z"
                />
            </svg>
        );
    }
);
