#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[repr(i32)]
pub enum EServerType {
    CEconBase = -5,
    CServer = -4,
    Client_Neg3 = -3,
    Util_Neg2 = -2,
    Invalid = -1,
    First = 0,
    GM = 1,
    BUM = 2,
    AM = 3,
    BS = 4,
    VS = 5,
    ATS = 6,
    CM = 7,
    FBS = 8,
    BoxMonitor = 9,
    SS = 10,
    DRMS = 11,
    HubOBSOLETE = 12,
    Console = 13,
    ASBOBSOLETE = 14,
    Client_15 = 15,
    BootstrapOBSOLETE = 16,
    DP = 17,
    WG = 18,
    SM = 19,
    SLC = 20,
    UFS = 21,
    Util_23 = 23,
    Community = 24,
    P2PRelayOBSOLETE = 25,
    AppInformation = 26,
    Spare = 27,
    FTS = 28,
    EPM = 29,
    PS = 30,
    IS = 31,
    CCS = 32,
    DFS = 33,
    LBS = 34,
    MDS = 35,
    CS = 36,
    GC = 37,
    NS = 38,
    OGS = 39,
    WebAPI = 40,
    UDS = 41,
    MMS = 42,
    GMS = 43,
    KGS = 44,
    UCM = 45,
    RM = 46,
    FS = 47,
    Econ = 48,
    Backpack = 49,
    UGS = 50,
    StoreFeature = 51,
    MoneyStats = 52,
    CRE = 53,
    UMQ = 54,
    Workshop = 55,
    BRP = 56,
    GCH = 57,
    MPAS = 58,
    Trade = 59,
    Secrets = 60,
    Logsink = 61,
    Market = 62,
    Quest = 63,
    WDS = 64,
    ACS = 65,
    PNP = 66,
    TaxForm = 67,
    ExternalMonitor = 68,
    Parental = 69,
    PartnerUpload = 70,
    Partner = 71,
    ES = 72,
    DepotWebContent = 73,
    ExternalConfig = 74,
    GameNotifications = 75,
    MarketRepl = 76,
    MarketSearch = 77,
    Localization = 78,
    Steam2Emulator = 79,
    PublicTest = 80,
    SolrMgr = 81,
    BroadcastIngester = 82,
    BroadcastDirectory = 83,
    VideoManager = 84,
    TradeOffer = 85,
    BroadcastChat = 86,
    Phone = 87,
    AccountScore = 88,
    Support = 89,
    LogRequest = 90,
    LogWorker = 91,
    EmailDelivery = 92,
    InventoryManagement = 93,
    Auth = 94,
    StoreCatalog = 95,
    HLTVRelay = 96,
    IDLS = 97,
    Perf = 98,
    ItemInventory = 99,
    Watchdog = 100,
    AccountHistory = 101,
    Chat = 102,
    Shader = 103,
    AccountHardware = 104,
    WebRTC = 105,
    Giveaway = 106,
    ChatRoom = 107,
    VoiceChat = 108,
    QMS = 109,
    Trust = 110,
    TimeMachine = 111,
    VACDBMaster = 112,
    ContentServerConfig = 113,
    Minigame = 114,
    MLTrain = 115,
    VACTest = 116,
    TaxService = 117,
    MLInference = 118,
    UGSAggregate = 119,
    TURN = 120,
    RemoteClient = 121,
    BroadcastOrigin = 122,
    BroadcastChannel = 123,
    SteamAR = 124,
    China = 125,
    CrashDump = 126,
}

impl EServerType {
    pub fn from_i32(val: i32) -> Option<Self> {
        match val {
            x if x == Self::CEconBase as i32 => Some(Self::CEconBase),
            x if x == Self::CServer as i32 => Some(Self::CServer),
            x if x == Self::Client_Neg3 as i32 => Some(Self::Client_Neg3),
            x if x == Self::Util_Neg2 as i32 => Some(Self::Util_Neg2),
            x if x == Self::Invalid as i32 => Some(Self::Invalid),
            x if x == Self::First as i32 => Some(Self::First),
            x if x == Self::GM as i32 => Some(Self::GM),
            x if x == Self::BUM as i32 => Some(Self::BUM),
            x if x == Self::AM as i32 => Some(Self::AM),
            x if x == Self::BS as i32 => Some(Self::BS),
            x if x == Self::VS as i32 => Some(Self::VS),
            x if x == Self::ATS as i32 => Some(Self::ATS),
            x if x == Self::CM as i32 => Some(Self::CM),
            x if x == Self::FBS as i32 => Some(Self::FBS),
            x if x == Self::BoxMonitor as i32 => Some(Self::BoxMonitor),
            x if x == Self::SS as i32 => Some(Self::SS),
            x if x == Self::DRMS as i32 => Some(Self::DRMS),
            x if x == Self::HubOBSOLETE as i32 => Some(Self::HubOBSOLETE),
            x if x == Self::Console as i32 => Some(Self::Console),
            x if x == Self::ASBOBSOLETE as i32 => Some(Self::ASBOBSOLETE),
            x if x == Self::Client_15 as i32 => Some(Self::Client_15),
            x if x == Self::BootstrapOBSOLETE as i32 => Some(Self::BootstrapOBSOLETE),
            x if x == Self::DP as i32 => Some(Self::DP),
            x if x == Self::WG as i32 => Some(Self::WG),
            x if x == Self::SM as i32 => Some(Self::SM),
            x if x == Self::SLC as i32 => Some(Self::SLC),
            x if x == Self::UFS as i32 => Some(Self::UFS),
            x if x == Self::Util_23 as i32 => Some(Self::Util_23),
            x if x == Self::Community as i32 => Some(Self::Community),
            x if x == Self::P2PRelayOBSOLETE as i32 => Some(Self::P2PRelayOBSOLETE),
            x if x == Self::AppInformation as i32 => Some(Self::AppInformation),
            x if x == Self::Spare as i32 => Some(Self::Spare),
            x if x == Self::FTS as i32 => Some(Self::FTS),
            x if x == Self::EPM as i32 => Some(Self::EPM),
            x if x == Self::PS as i32 => Some(Self::PS),
            x if x == Self::IS as i32 => Some(Self::IS),
            x if x == Self::CCS as i32 => Some(Self::CCS),
            x if x == Self::DFS as i32 => Some(Self::DFS),
            x if x == Self::LBS as i32 => Some(Self::LBS),
            x if x == Self::MDS as i32 => Some(Self::MDS),
            x if x == Self::CS as i32 => Some(Self::CS),
            x if x == Self::GC as i32 => Some(Self::GC),
            x if x == Self::NS as i32 => Some(Self::NS),
            x if x == Self::OGS as i32 => Some(Self::OGS),
            x if x == Self::WebAPI as i32 => Some(Self::WebAPI),
            x if x == Self::UDS as i32 => Some(Self::UDS),
            x if x == Self::MMS as i32 => Some(Self::MMS),
            x if x == Self::GMS as i32 => Some(Self::GMS),
            x if x == Self::KGS as i32 => Some(Self::KGS),
            x if x == Self::UCM as i32 => Some(Self::UCM),
            x if x == Self::RM as i32 => Some(Self::RM),
            x if x == Self::FS as i32 => Some(Self::FS),
            x if x == Self::Econ as i32 => Some(Self::Econ),
            x if x == Self::Backpack as i32 => Some(Self::Backpack),
            x if x == Self::UGS as i32 => Some(Self::UGS),
            x if x == Self::StoreFeature as i32 => Some(Self::StoreFeature),
            x if x == Self::MoneyStats as i32 => Some(Self::MoneyStats),
            x if x == Self::CRE as i32 => Some(Self::CRE),
            x if x == Self::UMQ as i32 => Some(Self::UMQ),
            x if x == Self::Workshop as i32 => Some(Self::Workshop),
            x if x == Self::BRP as i32 => Some(Self::BRP),
            x if x == Self::GCH as i32 => Some(Self::GCH),
            x if x == Self::MPAS as i32 => Some(Self::MPAS),
            x if x == Self::Trade as i32 => Some(Self::Trade),
            x if x == Self::Secrets as i32 => Some(Self::Secrets),
            x if x == Self::Logsink as i32 => Some(Self::Logsink),
            x if x == Self::Market as i32 => Some(Self::Market),
            x if x == Self::Quest as i32 => Some(Self::Quest),
            x if x == Self::WDS as i32 => Some(Self::WDS),
            x if x == Self::ACS as i32 => Some(Self::ACS),
            x if x == Self::PNP as i32 => Some(Self::PNP),
            x if x == Self::TaxForm as i32 => Some(Self::TaxForm),
            x if x == Self::ExternalMonitor as i32 => Some(Self::ExternalMonitor),
            x if x == Self::Parental as i32 => Some(Self::Parental),
            x if x == Self::PartnerUpload as i32 => Some(Self::PartnerUpload),
            x if x == Self::Partner as i32 => Some(Self::Partner),
            x if x == Self::ES as i32 => Some(Self::ES),
            x if x == Self::DepotWebContent as i32 => Some(Self::DepotWebContent),
            x if x == Self::ExternalConfig as i32 => Some(Self::ExternalConfig),
            x if x == Self::GameNotifications as i32 => Some(Self::GameNotifications),
            x if x == Self::MarketRepl as i32 => Some(Self::MarketRepl),
            x if x == Self::MarketSearch as i32 => Some(Self::MarketSearch),
            x if x == Self::Localization as i32 => Some(Self::Localization),
            x if x == Self::Steam2Emulator as i32 => Some(Self::Steam2Emulator),
            x if x == Self::PublicTest as i32 => Some(Self::PublicTest),
            x if x == Self::SolrMgr as i32 => Some(Self::SolrMgr),
            x if x == Self::BroadcastIngester as i32 => Some(Self::BroadcastIngester),
            x if x == Self::BroadcastDirectory as i32 => Some(Self::BroadcastDirectory),
            x if x == Self::VideoManager as i32 => Some(Self::VideoManager),
            x if x == Self::TradeOffer as i32 => Some(Self::TradeOffer),
            x if x == Self::BroadcastChat as i32 => Some(Self::BroadcastChat),
            x if x == Self::Phone as i32 => Some(Self::Phone),
            x if x == Self::AccountScore as i32 => Some(Self::AccountScore),
            x if x == Self::Support as i32 => Some(Self::Support),
            x if x == Self::LogRequest as i32 => Some(Self::LogRequest),
            x if x == Self::LogWorker as i32 => Some(Self::LogWorker),
            x if x == Self::EmailDelivery as i32 => Some(Self::EmailDelivery),
            x if x == Self::InventoryManagement as i32 => Some(Self::InventoryManagement),
            x if x == Self::Auth as i32 => Some(Self::Auth),
            x if x == Self::StoreCatalog as i32 => Some(Self::StoreCatalog),
            x if x == Self::HLTVRelay as i32 => Some(Self::HLTVRelay),
            x if x == Self::IDLS as i32 => Some(Self::IDLS),
            x if x == Self::Perf as i32 => Some(Self::Perf),
            x if x == Self::ItemInventory as i32 => Some(Self::ItemInventory),
            x if x == Self::Watchdog as i32 => Some(Self::Watchdog),
            x if x == Self::AccountHistory as i32 => Some(Self::AccountHistory),
            x if x == Self::Chat as i32 => Some(Self::Chat),
            x if x == Self::Shader as i32 => Some(Self::Shader),
            x if x == Self::AccountHardware as i32 => Some(Self::AccountHardware),
            x if x == Self::WebRTC as i32 => Some(Self::WebRTC),
            x if x == Self::Giveaway as i32 => Some(Self::Giveaway),
            x if x == Self::ChatRoom as i32 => Some(Self::ChatRoom),
            x if x == Self::VoiceChat as i32 => Some(Self::VoiceChat),
            x if x == Self::QMS as i32 => Some(Self::QMS),
            x if x == Self::Trust as i32 => Some(Self::Trust),
            x if x == Self::TimeMachine as i32 => Some(Self::TimeMachine),
            x if x == Self::VACDBMaster as i32 => Some(Self::VACDBMaster),
            x if x == Self::ContentServerConfig as i32 => Some(Self::ContentServerConfig),
            x if x == Self::Minigame as i32 => Some(Self::Minigame),
            x if x == Self::MLTrain as i32 => Some(Self::MLTrain),
            x if x == Self::VACTest as i32 => Some(Self::VACTest),
            x if x == Self::TaxService as i32 => Some(Self::TaxService),
            x if x == Self::MLInference as i32 => Some(Self::MLInference),
            x if x == Self::UGSAggregate as i32 => Some(Self::UGSAggregate),
            x if x == Self::TURN as i32 => Some(Self::TURN),
            x if x == Self::RemoteClient as i32 => Some(Self::RemoteClient),
            x if x == Self::BroadcastOrigin as i32 => Some(Self::BroadcastOrigin),
            x if x == Self::BroadcastChannel as i32 => Some(Self::BroadcastChannel),
            x if x == Self::SteamAR as i32 => Some(Self::SteamAR),
            x if x == Self::China as i32 => Some(Self::China),
            x if x == Self::CrashDump as i32 => Some(Self::CrashDump),
            _ => None,
        }
    }
}
