import React, { ForwardedRef, useContext } from 'react';
import { OriginIconProps } from '../type';
import { Context } from '../context';

function IconAdministratorLineComponent(props: OriginIconProps, ref: ForwardedRef<SVGSVGElement>) {
    const { prefix: prefixFromContext } = useContext(Context);
    const { className = '', prefix: prefixFromProps, width = '1em', height = '1em', useCurrentColor = true, spin, ...rest } = props;

    const prefix = prefixFromProps || prefixFromContext || 'hiagent';
    const loadingKls = spin ? ` ${prefix}-icon-loading` : '';
    return <svg className={`${prefix}-icon ${prefix}-icon-administrator-line${loadingKls} ${className}`} width={width} height={height} xmlns="http://www.w3.org/2000/svg" fill={useCurrentColor ? 'currentColor' : '#000'} viewBox="0 0 16 16" {...rest} ref={ref}><path d="M12.17 7.042a1.099 1.099 0 0 1 1.021.702l.169.436.476.273.475-.072a1.102 1.102 0 0 1 1.099.538l.002.003.22.385a1.098 1.098 0 0 1-.088 1.237l-.287.365v.55l.296.367a1.098 1.098 0 0 1 .09 1.238l-.22.386-.002.002a1.099 1.099 0 0 1-1.098.538h-.01l-.465-.072-.477.274-.168.435a1.101 1.101 0 0 1-1.023.703h-.469a1.1 1.1 0 0 1-1.02-.702l-.17-.436-.477-.274-.474.072a1.101 1.101 0 0 1-1.1-.538v-.002l-.221-.386a1.098 1.098 0 0 1 .089-1.236l.287-.365v-.55l-.297-.367a1.1 1.1 0 0 1-.09-1.239l.222-.388a1.099 1.099 0 0 1 1.098-.538l.009.002.468.071.487-.276.168-.433a1.101 1.101 0 0 1 1.021-.703h.459Zm-5.794.723a.6.6 0 0 1 0 1.2H4.742a3.291 3.291 0 0 0-3.291 3.29v.78c0 .097.08.177.178.177h4.747a.6.6 0 0 1 0 1.201H1.629a1.38 1.38 0 0 1-1.38-1.379v-.778a4.492 4.492 0 0 1 4.493-4.491h1.634Zm5.334.368-.004.004-.239.616a.544.544 0 0 1-.239.276l-.82.466a.545.545 0 0 1-.35.064l-.647-.098h-.004l-.004.004-.224.391-.002.005.002.005.414.513a.545.545 0 0 1 .121.342v.93a.54.54 0 0 1-.117.336l-.406.519-.002.005.001.005.003.005.22.385.005.004.004.001.646-.099a.545.545 0 0 1 .354.067l.81.465c.107.062.19.159.235.275l.239.615.004.005.004.001h.468l.004-.006.238-.615a.546.546 0 0 1 .237-.275l.81-.465a.545.545 0 0 1 .353-.067l.646.099.004-.001.004-.004.224-.39v-.01l-.414-.513a.545.545 0 0 1-.121-.342v-.93c0-.122.04-.241.116-.337l.407-.518.002-.005-.001-.005-.004-.006-.22-.385-.004-.003-.004-.001-.646.098a.547.547 0 0 1-.354-.066l-.809-.465a.546.546 0 0 1-.236-.275l-.239-.615-.004-.005-.004-.002h-.453l-.004.002Zm.23 1.4a1.655 1.655 0 0 1 1.653 1.652 1.653 1.653 0 1 1-1.653-1.652Zm0 1.09a.565.565 0 0 0-.398.96.565.565 0 0 0 .963-.398.563.563 0 0 0-.565-.562ZM7.077.76a2.935 2.935 0 1 1-.002 5.87A2.935 2.935 0 0 1 7.077.76Zm0 1.2a1.734 1.734 0 1 0 0 3.47 1.734 1.734 0 0 0 0-3.47Z"/></svg>;
}

const IconAdministratorLine = React.forwardRef(IconAdministratorLineComponent);
export default IconAdministratorLine;
