/*
 * 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 Intelligence: 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="intelligence" ref={ref} {...props}>
            <path
                d={isLarge ? "M200 220C189 220 180 211 180 200S189 180 200 180S220 189 220 200S210.8 220 200 220M299.8400000000001 200.5V201.38A8 8 0 0 1 297.7200000000001 205.88A154 154 0 0 1 275.98 228.38C259.36 243 240.3800000000001 255.24 219.5 260.12A83 83 0 0 1 183.1200000000001 260.62C171.8800000000001 258.38 161.2600000000001 253.88 151.2600000000001 248.24C135.6600000000001 239.38 121.2600000000001 227.24 108.78 213.64A140 140 0 0 1 102.16 205.74A9.2 9.2 0 0 1 102.16 194.14C108.52 185.74 116.16 178.38 123.9 171.62C140.5 157 159.5 144.76 180.3800000000001 139.8800000000001Q198.5800000000001 135.6 216.9800000000001 139.38C228.1200000000001 141.62 238.74 146.12 248.86 151.76C264.4600000000001 160.62 278.86 172.7600000000001 291.2200000000001 186.36C293.48 188.88 295.8400000000001 191.5 297.9600000000001 194.26A8.8 8.8 0 0 1 300.1 198.76V200C299.8400000000001 200.24 299.8400000000001 200.38 299.8400000000001 200.5M200 160C177.86 160 160 177.86 160 200S177.86 240 200 240S240 222.14 240 200S222.14 160 200 160M140 380A20 20 0 0 1 120 400H20A20 20 0 0 1 0 380V280A20 20 0 0 1 40 280V360H120A20 20 0 0 1 140 380M260 380A20 20 0 0 0 280 400H380A20 20 0 0 0 400 380V280A20 20 0 1 0 360 280V360H280A20 20 0 0 0 260 380M260 20A20 20 0 0 1 280 0H380A20 20 0 0 1 400 20V120A20 20 0 1 1 360 120V40H280A20 20 0 0 1 260 20M140 20A20 20 0 0 0 120 0H20A20 20 0 0 0 0 20V120A20 20 0 1 0 40 120V40H120A20 20 0 0 0 140 20" : "M160 180C149 180 140 171 140 160S149 140 160 140S180 149 180 160S170.8 180 160 180M259.76 160.48V161.32A8 8 0 0 1 257.62 165.64A152 152 0 0 1 235.88 187.28C219.28 201.34 200.28 213.12 179.4 217.82A86 86 0 0 1 143.04 218.3A112 112 0 0 1 111.18 206.4C95.56 197.86 81.18 186.2 68.68 173.1C66.44 170.7 64.18 168.18 62.08 165.52A8.6 8.6 0 0 1 62.08 154.36C68.44 146.3 76.06 139.2 83.8 132.72C100.42 118.66 119.4 106.88 140.28 102.18A88 88 0 0 1 176.9 101.7C188.02 103.86 198.64 108.2 208.76 113.6A174 174 0 0 1 251.12 146.9C253.38 149.3000000000001 255.76 151.8200000000001 257.88 154.4800000000001A8 8 0 0 1 260 158.8V160C259.76 160.24 259.76 160.36 259.76 160.48M160 120C137.86 120 120 137.86 120 160S137.86 200 160 200S200 182.14 200 160S182.14 120 160 120M140 300A20 20 0 0 1 120 320H20A20 20 0 0 1 0 300V200A20 20 0 0 1 40 200V280H120A20 20 0 0 1 140 300M180 300A20 20 0 0 0 200 320H300A20 20 0 0 0 320 300V200A20 20 0 1 0 280 200V280H200A20 20 0 0 0 180 300M180 20A20 20 0 0 1 200 0H300A20 20 0 0 1 320 20V120A20 20 0 1 1 280 120V40H200A20 20 0 0 1 180 20M140 20A20 20 0 0 0 120 0H20A20 20 0 0 0 0 20V120A20 20 0 0 0 40 120V40H120A20 20 0 0 0 140 20"}
                fillRule="evenodd"
                transform={`scale(0.05, -0.05) translate(${translation}, ${translation})`}
                style={style}
            />
        </SVGIconContainer>
   );
});
Intelligence.displayName = `Blueprint6.Icon.Intelligence`;
export default Intelligence;
