/*
 * Copyright 2024 Palantir Technologies, Inc. All rights reserved.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

import * as React from "react";
import type { SVGIconProps } from "../../svgIconProps";
import { IconSize } from "../../iconTypes";
import { SVGIconContainer } from "../../svgIconContainer";

export const User: React.FC<SVGIconProps> = React.forwardRef<any, SVGIconProps>((props, ref) => {
    const isLarge = (props.size ?? IconSize.STANDARD) >= IconSize.LARGE;
    const pixelGridSize = isLarge ? IconSize.LARGE : IconSize.STANDARD;
    const translation = `${-1 * pixelGridSize / 0.05 / 2}`;
    const style = { transformOrigin: "center" };
    return (
        <SVGIconContainer iconName="user" ref={ref} {...props}>
            <path
                d={isLarge ? "M200 400C89.6 400 0 310.4 0 200C0 193.4 0.4 187 1 180.6C1.2 178.2 1.6 176 2 173.6C2.6 169.6 3 165.6 3.8 161.8C4.4 159 5 156.2 5.8 153.4L8.2 143.8C9.2 140.6 10.2 137.6 11.2 134.6C12.2 132 13 129.2 14.2 126.6Q16 121.8 18.4 117C19.4 114.8 20.4 112.6 21.6 110.4C23.4 106.9999999999999 25 103.6 27 100.4C28 98.6 29 96.9999999999999 30 95.4C32.2 91.8 34.4 88.4 36.8 84.9999999999999C37.6 83.8 38.4 82.8 39.2 81.6C63 49.1999999999999 96.2 24.4 134.8 10.9999999999999L136.6 10.3999999999999C145.8 7.4 155.2 4.9999999999999 165 3.1999999999999C166.6 2.9999999999999 168.4 2.5999999999999 170 2.4C179.8 0.9999999999999 189.8 -1e-13 200 -1e-13S220.2 0.9999999999999 230 2.4C231.6 2.6 233.4 2.8 235 3.1999999999999C244.8 4.9999999999999 254.2 7.4 263.4 10.3999999999999L265.2 10.9999999999999C303.8 24.4 337 49.1999999999999 360.8 81.5999999999999C361.6 82.6 362.4 83.5999999999999 363.2 84.8C365.6 88.1999999999999 367.8 91.8 370 95.3999999999999C371 96.9999999999999 372 98.5999999999999 373 100.3999999999999Q376 105.4999999999999 378.4 110.5999999999999C379.4 112.7999999999999 380.4 114.8 381.3999999999999 117C382.8 120.1999999999999 384.2 123.3999999999999 385.6 126.8C386.6 129.3999999999999 387.6 132 388.4 134.5999999999999C389.4 137.6 390.6 140.8 391.3999999999999 143.8C392.4 147 392.9999999999999 150.2 393.8 153.4C394.4 156.2 395.2 159 395.8 161.8C396.6 165.6 397 169.6 397.6 173.6C398 176 398.4 178.2 398.6 180.6C399.6 187 400 193.4 400 200C400 310.4 310.4 400 200 400M200 40A158.8 158.8 0 0 0 77 97.8C93.8 106.6 114.2 114.2000000000001 130.4 121.6C159.4 134.6 156.4 142.6 157.4 153.4C157.6 154.8 157.6 156.2 157.6 157.6C147.4 166.6 139 179.2 133.6 193.6L133.4 193.8C133.4 194 133.2 194.2 133.2 194.4A80 80 0 0 0 130.2 204C123.6 205.4 119.6 212.8 118 219.8000000000001C116.4 222.6000000000001 113.4 229.4000000000001 114 237.2C115 247.4000000000001 119.2 252.0000000000001 123.8 253.8V255.4000000000001C123.8 268 125 286.4000000000001 127.2 298.4000000000001C127.6 301.8000000000001 128.4 305 129.4 308.4000000000001C133.6 323 142.6 336.4000000000001 154.6 345.6C167 355.0000000000001 184.6 360.0000000000001 200.2 360.0000000000001S233.2 355.0000000000001 245.6 345.4000000000001C257.6 336.2000000000001 266.6 323.0000000000001 270.8 308.2000000000001C271.8 305 272.4 301.6 273 298.2000000000001C275.2 286.2000000000001 276.3999999999999 268.0000000000001 276.3999999999999 255.2000000000001V253.4000000000001C280.8 251.4000000000001 284.8 246.8000000000001 285.6 237.0000000000001C286.3999999999999 229.2 283.2 222.4 281.6 219.6000000000001C280.2 212.8000000000001 276.2 205.4000000000001 269.6 204.0000000000001C268.8 200.8000000000001 267.8 197.4000000000001 266.6 194.4C266.6 194.2000000000001 266.2 193.4 266.2 193.4C261 179.2 252.8 166.8000000000001 242.8 157.8000000000001C242.8 156.2000000000001 243 154.6000000000001 243 153.2000000000001C244 142.4 240 134.4 269.2 121.4C285.4 114.2000000000001 306 106.6 322.8 97.6A159.2 159.2 0 0 0 200 40" : "M159.8 320.2A160 160 0 0 1 0.6 144.6C0.8 142.8 1.2 141 1.4 139C1.8 136 2.2 132.8 2.8 129.6C3.2 127.4 3.8 125.2 4.4 122.8C5 120.2 5.6 117.6 6.4 115.2S8 110.2 8.8 107.8C9.6 105.6 10.4 103.6 11.2 101.4A140 140 0 0 1 17.2 88.4C18.6 85.6 20 83 21.6 80.4C22.4 79 23.2 77.8 24 76.4L29.4 68L31.4 65.4A159.4 159.4 0 0 1 108 9C108.6 8.8 109 8.6 109.4 8.4C116.8 6 124.4 4 132.2 2.6L136.2 2C144 0.8 152 1e-13 160.2 1e-13S176.4 0.8 184.2 2L188.2 2.6C196 4 203.6 5.8 211 8.4C211.6 8.6 212 8.8 212.4 9A160.8 160.8 0 0 1 289 65.4C289.6 66.2 290.2 67 290.8 68C292.8 70.8 294.6 73.6 296.4 76.4C297.2 77.8 298 79 298.8 80.4C300.4 83 301.8 85.8 303.2 88.6C304 90.2 304.8 92 305.6 93.8C306.8 96.4 307.8 99 309 101.6C309.8 103.6 310.6 105.8 311.3999999999999 108C312.2 110.4 313 112.8 313.7999999999999 115.4S315.2 120.4 315.7999999999999 123C316.3999999999999 125.2 317 127.4 317.3999999999999 129.8C317.9999999999999 133 318.3999999999999 136 318.7999999999999 139.2C318.9999999999999 141 319.3999999999999 142.8 319.5999999999999 144.8C319.9999999999999 150 320.3999999999999 155 320.3999999999999 160.4C319.8 248.6 248.2 320.2 159.7999999999999 320.2M159.7999999999999 32.2C120.1999999999999 32.2 84.7999999999999 50.2 61.3999999999999 78.4C74.7999999999999 85.6 91.1999999999999 91.6 104.2 97.4C127.4 107.8 125 114.2 125.8 122.8C126 124 126 125 126 126.2C117.8 133.4 111.1999999999999 143.4 106.7999999999999 155V155.2C106.7999999999999 155.4 106.6 155.6 106.6 155.6Q105.0999999999999 159.5 104.2 163.4C98.5999999999999 164.4 95.3999999999999 170.4 94.2 176C93 178.2 90.6 183.5999999999999 91.1999999999999 189.7999999999999C91.9999999999999 198 95.2 201.5999999999999 98.7999999999999 203.1999999999999V204.3999999999999C98.7999999999999 214.5999999999999 99.7999999999999 229.2 101.5999999999999 238.8Q102.1999999999999 242.7 103.3999999999999 246.5999999999999C106.7999999999999 258.3999999999999 113.9999999999999 269 123.5999999999999 276.3999999999999C133.3999999999999 283.9999999999999 147.3999999999999 288.2 160 288.2C172.3999999999999 288.2 186.3999999999999 284.2 196.3999999999999 276.3999999999999C206 268.9999999999999 213.1999999999999 258.3999999999999 216.5999999999999 246.5999999999999C217.3999999999999 243.9999999999999 218 241.3999999999999 218.3999999999999 238.5999999999999C220.1999999999999 228.9999999999999 221.1999999999999 214.3999999999999 221.1999999999999 204.1999999999999V202.7999999999999C224.7999999999999 201.1999999999999 227.8 197.5999999999999 228.5999999999999 189.5999999999999C229.1999999999999 183.3999999999999 226.6 177.9999999999999 225.3999999999999 175.7999999999999C224.1999999999999 170.3999999999999 221.1999999999999 164.3999999999999 215.7999999999999 163.3999999999999C215.1999999999999 160.7999999999999 214.3999999999999 158.1999999999999 213.3999999999999 155.7999999999999C213.3999999999999 155.5999999999999 213.1999999999999 155 213.1999999999999 155C208.9999999999999 143.5999999999999 202.4 133.7999999999999 194.4 126.5999999999999C194.4 125.3999999999999 194.5999999999999 123.9999999999999 194.5999999999999 122.8C195.3999999999999 114.1999999999999 192.2 107.8 215.6 97.4C228.6 91.6 245 85.4 258.4 78.4A128.4 128.4 0 0 0 159.8 32.1999999999999"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
User.displayName = `Blueprint6.Icon.User`;
export default User;
