// NOTE: this list must be up-to-date with browsers listed in
// test/acceptance/useragentstrings.yml
export const BROWSER_ALIASES_MAP = {
  AmazonBot: 'amazonbot',
  'Amazon Silk': 'amazon_silk',
  'Android Browser': 'android',
  BaiduSpider: 'baiduspider',
  Bada: 'bada',
  BingCrawler: 'bingcrawler',
  Brave: 'brave',
  BlackBerry: 'blackberry',
  'ChatGPT-User': 'chatgpt_user',
  Chrome: 'chrome',
  ClaudeBot: 'claudebot',
  Chromium: 'chromium',
  Diffbot: 'diffbot',
  DuckDuckBot: 'duckduckbot',
  DuckDuckGo: 'duckduckgo',
  Electron: 'electron',
  Epiphany: 'epiphany',
  FacebookExternalHit: 'facebookexternalhit',
  Firefox: 'firefox',
  Focus: 'focus',
  Generic: 'generic',
  'Google Search': 'google_search',
  Googlebot: 'googlebot',
  GPTBot: 'gptbot',
  'Internet Explorer': 'ie',
  InternetArchiveCrawler: 'internetarchivecrawler',
  'K-Meleon': 'k_meleon',
  LibreWolf: 'librewolf',
  Linespider: 'linespider',
  Maxthon: 'maxthon',
  'Meta-ExternalAds': 'meta_externalads',
  'Meta-ExternalAgent': 'meta_externalagent',
  'Meta-ExternalFetcher': 'meta_externalfetcher',
  'Meta-WebIndexer': 'meta_webindexer',
  'Microsoft Edge': 'edge',
  'MZ Browser': 'mz',
  'NAVER Whale Browser': 'naver',
  'OAI-SearchBot': 'oai_searchbot',
  Omgilibot: 'omgilibot',
  Opera: 'opera',
  'Opera Coast': 'opera_coast',
  'Pale Moon': 'pale_moon',
  PerplexityBot: 'perplexitybot',
  'Perplexity-User': 'perplexity_user',
  PhantomJS: 'phantomjs',
  PingdomBot: 'pingdombot',
  Puffin: 'puffin',
  QQ: 'qq',
  QQLite: 'qqlite',
  QupZilla: 'qupzilla',
  Roku: 'roku',
  Safari: 'safari',
  Sailfish: 'sailfish',
  'Samsung Internet for Android': 'samsung_internet',
  SlackBot: 'slackbot',
  SeaMonkey: 'seamonkey',
  Sleipnir: 'sleipnir',
  'Sogou Browser': 'sogou',
  Swing: 'swing',
  Tizen: 'tizen',
  'UC Browser': 'uc',
  Vivaldi: 'vivaldi',
  'WebOS Browser': 'webos',
  WeChat: 'wechat',
  YahooSlurp: 'yahooslurp',
  'Yandex Browser': 'yandex',
  YandexBot: 'yandexbot',
  YouBot: 'youbot',
};

export const BROWSER_MAP = {
  amazonbot: 'AmazonBot',
  amazon_silk: 'Amazon Silk',
  android: 'Android Browser',
  baiduspider: 'BaiduSpider',
  bada: 'Bada',
  bingcrawler: 'BingCrawler',
  blackberry: 'BlackBerry',
  brave: 'Brave',
  chatgpt_user: 'ChatGPT-User',
  chrome: 'Chrome',
  claudebot: 'ClaudeBot',
  chromium: 'Chromium',
  diffbot: 'Diffbot',
  duckduckbot: 'DuckDuckBot',
  duckduckgo: 'DuckDuckGo',
  edge: 'Microsoft Edge',
  electron: 'Electron',
  epiphany: 'Epiphany',
  facebookexternalhit: 'FacebookExternalHit',
  firefox: 'Firefox',
  focus: 'Focus',
  generic: 'Generic',
  google_search: 'Google Search',
  googlebot: 'Googlebot',
  gptbot: 'GPTBot',
  ie: 'Internet Explorer',
  internetarchivecrawler: 'InternetArchiveCrawler',
  k_meleon: 'K-Meleon',
  librewolf: 'LibreWolf',
  linespider: 'Linespider',
  maxthon: 'Maxthon',
  meta_externalads: 'Meta-ExternalAds',
  meta_externalagent: 'Meta-ExternalAgent',
  meta_externalfetcher: 'Meta-ExternalFetcher',
  meta_webindexer: 'Meta-WebIndexer',
  mz: 'MZ Browser',
  naver: 'NAVER Whale Browser',
  oai_searchbot: 'OAI-SearchBot',
  omgilibot: 'Omgilibot',
  opera: 'Opera',
  opera_coast: 'Opera Coast',
  pale_moon: 'Pale Moon',
  perplexitybot: 'PerplexityBot',
  perplexity_user: 'Perplexity-User',
  phantomjs: 'PhantomJS',
  pingdombot: 'PingdomBot',
  puffin: 'Puffin',
  qq: 'QQ Browser',
  qqlite: 'QQ Browser Lite',
  qupzilla: 'QupZilla',
  roku: 'Roku',
  safari: 'Safari',
  sailfish: 'Sailfish',
  samsung_internet: 'Samsung Internet for Android',
  seamonkey: 'SeaMonkey',
  slackbot: 'SlackBot',
  sleipnir: 'Sleipnir',
  sogou: 'Sogou Browser',
  swing: 'Swing',
  tizen: 'Tizen',
  uc: 'UC Browser',
  vivaldi: 'Vivaldi',
  webos: 'WebOS Browser',
  wechat: 'WeChat',
  yahooslurp: 'YahooSlurp',
  yandex: 'Yandex Browser',
  yandexbot: 'YandexBot',
  youbot: 'YouBot',
};

export const PLATFORMS_MAP = {
  bot: 'bot',
  desktop: 'desktop',
  mobile: 'mobile',
  tablet: 'tablet',
  tv: 'tv',
};

export const OS_MAP = {
  Android: 'Android',
  Bada: 'Bada',
  BlackBerry: 'BlackBerry',
  ChromeOS: 'Chrome OS',
  HarmonyOS: 'HarmonyOS',
  iOS: 'iOS',
  Linux: 'Linux',
  MacOS: 'macOS',
  PlayStation4: 'PlayStation 4',
  Roku: 'Roku',
  Tizen: 'Tizen',
  WebOS: 'WebOS',
  Windows: 'Windows',
  WindowsPhone: 'Windows Phone',
};

export const ENGINE_MAP = {
  Blink: 'Blink',
  EdgeHTML: 'EdgeHTML',
  Gecko: 'Gecko',
  Presto: 'Presto',
  Trident: 'Trident',
  WebKit: 'WebKit',
};
