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

export const IconJfrog24 = 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}
                    d="M10.991 14.818l-.95.274c.082.249.15.694.15 1.293v2.946h1.065v-3.117c.199-.248.414-.368.645-.368.117 0 .208.026.307.086l.29-1.019a.766.766 0 00-.398-.095.89.89 0 00-.348.07c-.198.102-.447.334-.603.555a1.24 1.24 0 00-.158-.625zM7.32 13.364h-.115v5.958h1.107v-2.637H9.71V15.7H8.312v-1.37h1.745l.066-.521a17.172 17.172 0 01-2.803-.445zm-2.589 6.753l.513.618c.497-.205 1.118-.667 1.283-1.405.057-.239.075-.393.075-1.172v-4.786H5.48v4.914c0 .643-.024.882-.106 1.105-.108.248-.365.54-.645.728l.001-.002zm10.066-3.02c0 1.044-.197 1.49-.653 1.49a.572.572 0 01-.32-.098.601.601 0 01-.217-.263c-.083-.222-.132-.6-.132-1.113 0-.437.04-.745.107-.984.082-.274.29-.446.546-.446.19 0 .355.086.454.232.15.205.215.59.215 1.181zm.653 1.711c.349-.427.506-.95.506-1.703 0-.712-.14-1.199-.463-1.61-.348-.445-.795-.66-1.373-.66-1.092 0-1.82.916-1.82 2.304 0 1.387.72 2.277 1.82 2.277.62.008 1.024-.23 1.33-.608zm3.029-2.466c0 .404-.233.625-.645.625-.373 0-.622-.178-.622-.625 0-.41.233-.65.629-.65.397 0 .637.24.637.65zm1.877-.941l-.439-.728c-.248.24-.545.377-.835.377-.133 0-.207-.017-.496-.093a2.386 2.386 0 00-.728-.113c-1.035 0-1.704.582-1.704 1.49 0 .65.282 1.062.869 1.224-.24.06-.497.189-.612.334a.627.627 0 00-.125.403c0 .137.033.257.083.36.054.094.135.169.232.213.19.078.495.13.968.138.247 0 .396.008.446.008.29.017.438.07.554.128.108.07.19.223.19.395 0 .17-.099.341-.256.445-.14.102-.372.146-.67.146-.488 0-.76-.19-.76-.54 0-.155.016-.189.049-.283h-.976a.925.925 0 00-.091.445c0 .3.108.557.331.78.364.367.96.47 1.53.47.628 0 1.24-.154 1.596-.564.223-.257.322-.54.322-.909 0-.393-.107-.693-.347-.94-.281-.283-.603-.386-1.224-.395l-.57-.008c-.108 0-.175-.043-.175-.103 0-.12.15-.223.423-.36.082.008.107.008.157.008.86 0 1.488-.547 1.488-1.31a1.12 1.12 0 00-.24-.719c.133.017.174.026.273.026.282 0 .505-.093.737-.325zM7.038 8.184c-1.323.334-2.224.993-2.224 1.747 0 .47.347.898.918 1.232a1.715 1.715 0 01-.265-.898c.007-.78.595-1.507 1.571-2.08zM21 11.137c0-.497-.298-.95-.794-1.326.041.155.075.308.075.462 0 1.413-1.911 2.628-4.624 3.133.306.034.62.052.951.052C19.03 13.45 21 12.414 21 11.138zm-1.563-.77c0-.522-.43-1.001-1.166-1.396.172.215.264.446.264.686 0 1.258-2.58 2.277-5.773 2.277-3.184 0-5.773-1.019-5.773-2.277 0-.163.04-.317.123-.463-.512.351-.802.753-.802 1.182 0 1.36 2.937 2.465 6.56 2.465 3.623 0 6.567-1.121 6.567-2.474zm-2.862-.067c-1.34.89-5.46 1.232-7.23.085-1.389-.899-.909-2.329-4.888-5.462-.52-.411.1-.848.489-.565.388.283.033.352.819 1.164 1.587 1.645 1.57.163 1.819.729.53 1.172 1.688 2.353 1.688 2.353 1.166.788 2.092.959 3.813-.248 1.091-.762.644 1.216 3.317-.214.975-.522.934-.17 1.926-1.601.413-.59 1.2.454.306.6-.355.06-.96.462-1.215 1.095-.372.95-.216 1.652-.844 2.064zM9.147 7.885c-.33-.154-.678-.737-.81-.967.372-.377.223-1.001.008-1.344-.207-.342-.463-.249-.735-.565-.282-.318.106-1.138.462-.505 1.332 2.372 2.208 1.386 3.293 1.241 1.042-.137 1.968.454 2.25-1.215.049-.274.305-.334.33.11.024.455.19 1.55.761 1.687.57.146 1.034-.137 1.166-.29.132-.156.206-.138.265.256.058.385.206.925 1.009.326 1.646-1.216 1.174-1.687 1.82-2.003.363-.18.942.402.107.838-1.19.625-1.315 1.395-2.067 1.883-1.267.822-.878.035-2.912-.265-.786-.111-1.035.788-1.646.53-1.398-.598-2.384-.479-3.301.283zm4.41-4.391c.049.36.107.35.231.377.124.034.281-.171.281-.36.008-.197-.082-.317-.264-.308-.191.008-.257.102-.249.291zm6.12.642c.15.145.545.051.637-.06.24-.274.247-.437.123-.625-.123-.18-.38-.154-.637.043-.256.196-.207.564-.124.642zm-.108 1.815c-.124.17-.132.3-.041.394.099.102.298.187.439.077.14-.12.14-.292.024-.437-.124-.155-.29-.155-.422-.034zM7.014 3.81c.19.06.28.248.438.034.083-.103.09-.248-.017-.404-.066-.093-.38-.163-.512-.024-.133.137-.008.36.09.394h.001zm-3.88-.12c.347.222.57.556.835.256.09-.102.198-.282.008-.641-.14-.266-.594-.368-.751-.266-.165.093-.364.48-.091.65h-.001zm3.201 1.704c.108.12.298.11.414.042.108-.068.09-.248-.017-.402-.066-.095-.265-.146-.397 0-.132.145-.073.273 0 .36z"
                />
            </svg>
        );
    }
);
