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

export const IconCiscoColor24 = 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}
                <g fill="#02a5dd">
                    <path d="M7.256 9.868V11.7c-.001.302-.148.495-.408.546a.48.48 0 0 1-.56-.414 1 1 0 0 1-.01-.168V6.583q0-.488.404-.573a.48.48 0 0 1 .566.417q.01.09.008.18v3.261M5.91 13.962v1.12a1.64 1.64 0 0 0-.786-.207c-.468-.01-.86.232-1.023.633-.283.698.182 1.423.93 1.448q.402.014.768-.162l.084-.038.012-.005.008.002.012.004v.19q0 .4-.002.803c0 .025-.032.066-.055.072-.626.16-1.244.18-1.838-.135-.775-.41-1.097-1.212-1.026-2.01.107-1.197 1.1-1.947 2.248-1.835a4 4 0 0 1 .56.095zM15.978 15.082V13.95l-.21-.036c-.154-.027-.307-.054-.46-.07-1.143-.115-2.138.631-2.246 1.834-.068.754.203 1.542.946 1.973.613.356 1.261.338 1.92.17.021-.005.052-.04.052-.062q.003-.41.002-.828v-.19l-.045.02-.074.035a1.6 1.6 0 0 1-.756.16c-.753-.019-1.224-.748-.939-1.45.163-.399.556-.64 1.024-.63.274.005.535.068.786.207" />
                    <path
                        fillRule="evenodd"
                        d="M21.015 15.946c0-1.17-.862-2.05-2.01-2.05-1.141-.002-2.017.887-2.018 2.047-.002 1.159.877 2.058 2.011 2.057 1.136-.001 2.016-.897 2.017-2.054m-1.007-.004a1.016 1.016 0 0 1-1.013 1.043c-.56 0-1.004-.46-1.003-1.041 0-.58.445-1.038 1.006-1.038.563 0 1.005.454 1.01 1.036"
                        clipRule="evenodd"
                    />
                    <path d="M11.856 14.854v-.801c-.347-.08-.69-.143-1.04-.127a1.6 1.6 0 0 0-.828.251c-.634.426-.688 1.393-.1 1.852.191.148.406.244.638.31.161.046.325.114.462.212.168.12.146.348-.026.465a.6.6 0 0 1-.19.085c-.252.07-.508.054-.762.012q-.181-.031-.362-.075l-.158-.034v.891c.287.083 1.03.127 1.314.086.3-.043.584-.128.832-.314.617-.461.635-1.402.024-1.868-.129-.099-.28-.167-.431-.235l-.114-.052a3 3 0 0 0-.232-.095q-.113-.04-.222-.09a.27.27 0 0 1-.17-.277.246.246 0 0 1 .203-.234c.173-.036.352-.067.526-.059.147.007.293.034.44.062q.098.019.196.035M16.775 9.121v.821l.001 1.804c.001.347.3.577.621.487.225-.064.355-.26.355-.543V6.549q0-.037-.002-.073c-.03-.328-.304-.535-.608-.46-.224.055-.366.247-.367.504v2.601M7.26 13.962h.964v3.933H7.26zM20.37 9.935v-.669q.001-.43-.002-.86a.7.7 0 0 0-.04-.246.475.475 0 0 0-.547-.286.49.49 0 0 0-.385.492 233 233 0 0 0 0 2.408c0 .07.019.145.046.21a.482.482 0 0 0 .925-.194q.005-.428.003-.855M15.125 9.934v.808c-.002.313-.2.529-.484.53-.29 0-.492-.218-.493-.535V8.4c0-.318.203-.536.492-.535.29.001.484.216.484.54v1.528M9.88 9.931V8.404c-.002-.32-.2-.537-.489-.537-.29 0-.488.215-.489.537v2.335c0 .317.205.534.495.532.282-.001.481-.219.482-.531zM3.657 9.56V8.406c0-.302.156-.512.395-.536.283-.029.485.13.542.435q.036.186.039.375.006 1.03.001 2.059c-.001.382-.321.626-.654.507a.49.49 0 0 1-.323-.48V9.56M11.529 10.089v.682c.005.278.196.487.45.5.28.013.503-.167.516-.453q.026-.571 0-1.142a.47.47 0 0 0-.516-.454c-.255.016-.445.225-.45.502zM1.98 10.255v.163l-.001.354c-.005.288-.216.5-.49.5-.274-.002-.483-.214-.486-.504a51 51 0 0 1 0-1.046.49.49 0 0 1 .49-.5c.272.001.481.216.486.504v.529M22.02 10.09v.16l-.001.161v.356c.005.288.207.5.475.504.278.004.495-.2.5-.49q.011-.53.001-1.06a.487.487 0 0 0-.492-.5c-.272.003-.48.22-.483.51q-.002.18 0 .359" />
                </g>
            </svg>
        );
    }
);
