import * as React from "react";
import type { IconProps, IconMetadata, IconComponent } from "../../types";

export const Abstract120: IconComponent = React.forwardRef<
  SVGSVGElement,
  IconProps
>(function Abstract120(
  {
    color = "currentColor",
    fill,
    size = 24,
    strokeWidth,
    strokeLinecap,
    strokeLinejoin,
    strokeDasharray,
    opacity,
    className,
    ...props
  },
  forwardedRef,
) {
  return (
    <svg
      width={size}
      height={size}
      viewBox="0 0 23 24"
      fill="none"
      xmlns="http://www.w3.org/2000/svg"
      className={className}
      strokeWidth={strokeWidth}
      strokeLinecap={strokeLinecap}
      strokeLinejoin={strokeLinejoin}
      strokeDasharray={strokeDasharray}
      opacity={opacity}
      {...props}
      ref={forwardedRef}
    >
      <path
        d="M17.9343 19.9824C17.5152 20.9877 17.0195 21.7871 16.4971 22.3124C15.9729 22.8416 15.4468 23.0929 14.9155 23.0948C14.5642 23.0948 14.2147 22.9833 13.8653 22.7547C14.7194 21.7871 15.4058 20.3452 15.9033 18.5858C16.4026 16.8113 16.7039 14.7118 16.7396 12.4517H19.3019C19.2537 15.4054 18.7331 18.0661 17.9325 19.9824H17.9343ZM10.4489 22.7547C10.834 22.3181 11.1835 21.7871 11.4991 21.1729C11.8129 21.7871 12.1642 22.32 12.5493 22.7565C12.1998 22.9852 11.8504 23.0967 11.4991 23.0967C11.1478 23.0967 10.7984 22.9852 10.4489 22.7565V22.7547ZM6.5029 22.3143C5.72013 21.5244 4.99976 20.1222 4.49693 18.3269C4.02442 16.6488 3.73199 14.6306 3.69633 12.4517H6.26219C6.31212 15.515 6.84525 18.2816 7.7047 20.349C8.10946 21.3184 8.58733 22.1348 9.13474 22.7565C8.78703 22.9852 8.43755 23.0967 8.08628 23.0967C7.55492 23.0967 7.02891 22.8435 6.50469 22.3143H6.5029ZM5.06575 4.01764C5.48477 3.01229 5.98046 2.2129 6.50112 1.68755C7.02534 1.15841 7.55135 0.907094 8.08271 0.905204C8.43398 0.905204 8.78347 1.01669 9.13295 1.24535C8.27885 2.21291 7.59238 3.65481 7.0949 5.41418C6.59563 7.18867 6.29428 9.28819 6.25684 11.5483H3.69455C3.74269 8.59464 4.26514 5.93386 5.06575 4.01764ZM12.5493 1.24535C12.1642 1.68188 11.8147 2.21291 11.4991 2.82708C11.1853 2.21291 10.8358 1.67999 10.4507 1.24346C10.7984 1.01479 11.1478 0.903313 11.4991 0.903313C11.8504 0.903313 12.1998 1.01479 12.5493 1.24346V1.24535ZM13.3232 11.5483C13.2751 8.58519 12.774 5.90172 11.9627 3.86077C12.3336 3.00849 12.7598 2.31496 13.2055 1.81984C13.9402 2.62866 14.6088 3.97418 15.0867 5.67307C15.561 7.35118 15.8516 9.36945 15.8873 11.5483H13.3214H13.3232ZM11.3262 18.3269C10.8536 16.6488 10.5612 14.6306 10.5256 12.4517H12.4727C12.4334 14.8838 12.0733 17.1156 11.4991 18.8976C11.4403 18.7124 11.3814 18.5216 11.3262 18.3269ZM11.6721 5.67307C12.1446 7.35118 12.437 9.36945 12.4727 11.5483H10.5256C10.5648 9.11622 10.925 6.88441 11.4991 5.10236C11.558 5.28756 11.6168 5.47843 11.6721 5.67307ZM9.79268 1.81984C10.2402 2.31307 10.6646 3.00662 11.0355 3.85891C10.8429 4.34269 10.6682 4.86237 10.5131 5.41418C10.0138 7.18867 9.71246 9.28819 9.6768 11.5483H7.11451C7.16265 8.59464 7.68508 5.93386 8.48391 4.01764C8.86905 3.09355 9.32017 2.3452 9.79447 1.81984H9.79268ZM9.7909 22.1802C9.05627 21.3713 8.38763 20.0258 7.91154 18.3269C7.43724 16.6488 7.14482 14.6306 7.11094 12.4517H9.6768C9.72494 15.4148 10.226 18.0983 11.0373 20.1392C10.6682 20.9915 10.242 21.685 9.79447 22.1802H9.7909ZM13.2073 22.1802C12.7598 21.6869 12.3354 20.9934 11.9645 20.1411C12.1571 19.6573 12.3318 19.1376 12.4887 18.5858C12.988 16.8113 13.2893 14.7118 13.325 12.4517H15.8873C15.8392 15.4054 15.3167 18.0661 14.5161 19.9824C14.1309 20.9065 13.6816 21.6548 13.2055 22.1802H13.2073ZM16.4971 1.68568C17.2817 2.4756 18.0002 3.8778 18.5031 5.67307C18.9756 7.35118 19.268 9.36945 19.3037 11.5483H16.7378C16.6896 8.48504 16.1547 5.71841 15.2953 3.65101C14.8905 2.68156 14.4127 1.86519 13.8635 1.24346C14.213 1.01479 14.5624 0.903313 14.9137 0.903313C15.4433 0.903313 15.9711 1.15654 16.4953 1.68568H16.4971ZM23 11.5483H20.1542C20.1043 8.48504 19.5711 5.71841 18.7117 3.65101C18.2588 2.56818 17.7167 1.67433 17.0855 1.0337C16.4579 0.393065 15.7161 0 14.9155 0C14.3039 0 13.7262 0.230539 13.2073 0.6255C12.6884 0.230539 12.1107 0 11.4991 0C10.8875 0 10.3098 0.230539 9.7909 0.6255C9.27202 0.230539 8.69431 0 8.0845 0C7.28389 0 6.54393 0.393065 5.9145 1.0337C4.96768 1.99747 4.217 3.52252 3.68029 5.41418C3.18102 7.18867 2.87967 9.28819 2.84401 11.5483H0V12.4517H2.8458C2.89394 15.515 3.42888 18.2816 4.28833 20.349C4.74123 21.4318 5.28329 22.3257 5.9145 22.9663C6.54393 23.6069 7.28389 24 8.0845 24C8.6961 24 9.2738 23.7694 9.7909 23.3745C10.3098 23.7694 10.8875 24 11.4991 24C12.1107 24 12.6884 23.7694 13.2073 23.3745C13.7262 23.7694 14.3039 24 14.9155 24C15.7161 24 16.4561 23.6069 17.0855 22.9663C18.0323 22.0044 18.7848 20.4775 19.3197 18.5858C19.819 16.8113 20.1203 14.7118 20.156 12.4517H23V11.5483Z"
        fill="currentColor"
      />
    </svg>
  );
});

Abstract120.displayName = "Abstract120";

Abstract120.metadata = {
  name: "Abstract120",
  category: "shapes/abstract",
  tags: ["abstract", "120", "icon"],
  description: "Abstract120 icon from shapes/abstract category",
  type: ["stroke", "icon"],
} as IconMetadata;

export default Abstract120;
