{"version":3,"file":"4622.aa932ddfa16bd50e.js","sources":["webpack://storefronts/./node_modules/ua-parser-js/src/ua-parser.js"],"sourcesContent":["/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v1.0.40\n Copyright © 2012-2024 Faisal Salman \n MIT License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://faisalman.github.io/ua-parser-js\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n(function (window, undefined) {\n\n 'use strict';\n\n //////////////\n // Constants\n /////////////\n\n\n var LIBVERSION = '1.0.40',\n EMPTY = '',\n UNKNOWN = '?',\n FUNC_TYPE = 'function',\n UNDEF_TYPE = 'undefined',\n OBJ_TYPE = 'object',\n STR_TYPE = 'string',\n MAJOR = 'major',\n MODEL = 'model',\n NAME = 'name',\n TYPE = 'type',\n VENDOR = 'vendor',\n VERSION = 'version',\n ARCHITECTURE= 'architecture',\n CONSOLE = 'console',\n MOBILE = 'mobile',\n TABLET = 'tablet',\n SMARTTV = 'smarttv',\n WEARABLE = 'wearable',\n EMBEDDED = 'embedded',\n UA_MAX_LENGTH = 500;\n\n var AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n BROWSER = 'Browser',\n CHROME = 'Chrome',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n OPERA = 'Opera',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n FACEBOOK = 'Facebook',\n CHROMIUM_OS = 'Chromium OS',\n MAC_OS = 'Mac OS',\n SUFFIX_BROWSER = ' Browser';\n\n ///////////\n // Helper\n //////////\n\n var extend = function (regexes, extensions) {\n var mergedRegexes = {};\n for (var i in regexes) {\n if (extensions[i] && extensions[i].length % 2 === 0) {\n mergedRegexes[i] = extensions[i].concat(regexes[i]);\n } else {\n mergedRegexes[i] = regexes[i];\n }\n }\n return mergedRegexes;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n if (q.length === 2) {\n if (typeof q[1] == FUNC_TYPE) {\n // assign modified match\n this[q[0]] = q[1].call(this, match);\n } else {\n // assign given value, ignore regex match\n this[q[0]] = q[1];\n }\n } else if (q.length === 3) {\n // check whether function or regex\n if (typeof q[1] === FUNC_TYPE && !(q[1].exec && q[1].test)) {\n // call function (usually string mapper)\n this[q[0]] = match ? q[1].call(this, match, q[2]) : undefined;\n } else {\n // sanitize match using given regex\n this[q[0]] = match ? match.replace(q[1], q[2]) : undefined;\n }\n } else if (q.length === 4) {\n this[q[0]] = match ? q[3].call(this, match.replace(q[1], q[2])) : undefined;\n }\n } else {\n this[q] = match ? match : undefined;\n }\n }\n }\n }\n i += 2;\n }\n },\n\n strMapper = function (str, map) {\n\n for (var i in map) {\n // check if current value is array\n if (typeof map[i] === OBJ_TYPE && map[i].length > 0) {\n for (var j = 0; j < map[i].length; j++) {\n if (has(map[i][j], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n } else if (has(map[i], str)) {\n return (i === UNKNOWN) ? undefined : i;\n }\n }\n return map.hasOwnProperty('*') ? map['*'] : str;\n };\n\n ///////////////\n // String map\n //////////////\n\n // Safari < 3.0\n var oldSafariMap = {\n '1.0' : '/8',\n '1.2' : '/1',\n '1.3' : '/3',\n '2.0' : '/412',\n '2.0.2' : '/416',\n '2.0.3' : '/417',\n '2.0.4' : '/419',\n '?' : '/'\n },\n windowsVersionMap = {\n 'ME' : '4.90',\n 'NT 3.11' : 'NT3.51',\n 'NT 4.0' : 'NT4.0',\n '2000' : 'NT 5.0',\n 'XP' : ['NT 5.1', 'NT 5.2'],\n 'Vista' : 'NT 6.0',\n '7' : 'NT 6.1',\n '8' : 'NT 6.2',\n '8.1' : 'NT 6.3',\n '10' : ['NT 6.4', 'NT 10.0'],\n 'RT' : 'ARM'\n };\n\n //////////////\n // Regex map\n /////////////\n\n var regexes = {\n\n browser : [[\n\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, 'Chrome']], [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i // Microsoft Edge\n ], [VERSION, [NAME, 'Edge']], [\n\n // Presto based\n /(opera mini)\\/([-\\w\\.]+)/i, // Opera Mini\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i, // Opera Mobi/Tablet\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i // Opera\n ], [NAME, VERSION], [\n /opios[\\/ ]+([\\w\\.]+)/i // Opera mini on iphone >= 8.0\n ], [VERSION, [NAME, OPERA+' Mini']], [\n /\\bop(?:rg)?x\\/([\\w\\.]+)/i // Opera GX\n ], [VERSION, [NAME, OPERA+' GX']], [\n /\\bopr\\/([\\w\\.]+)/i // Opera Webkit\n ], [VERSION, [NAME, OPERA]], [\n\n // Mixed\n /\\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\\/ ]?([\\w\\.]+)/i // Baidu\n ], [VERSION, [NAME, 'Baidu']], [\n /\\b(?:mxbrowser|mxios|myie2)\\/?([-\\w\\.]*)\\b/i // Maxthon\n ], [VERSION, [NAME, 'Maxthon']], [\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\\/ ]?([\\w\\.]*)/i, \n // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir\n // Trident based\n /(avant|iemobile|slim(?:browser|boat|jet))[\\/ ]?([\\d\\.]*)/i, // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // Blink/Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon\n /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon\n /(heytap|ovi|115)browser\\/([\\d\\.]+)/i, // HeyTap/Ovi/115\n /(weibo)__([\\d\\.]+)/i // Weibo\n ], [NAME, VERSION], [\n /quark(?:pc)?\\/([-\\w\\.]+)/i // Quark\n ], [VERSION, [NAME, 'Quark']], [\n /\\bddg\\/([\\w\\.]+)/i // DuckDuckGo\n ], [VERSION, [NAME, 'DuckDuckGo']], [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i // UCBrowser\n ], [VERSION, [NAME, 'UC'+BROWSER]], [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i, // WeChat Desktop for Windows Built-in Browser\n /\\bqbcore\\/([\\w\\.]+).+microm/i,\n /micromessenger\\/([\\w\\.]+)/i // WeChat\n ], [VERSION, [NAME, 'WeChat']], [\n /konqueror\\/([\\w\\.]+)/i // Konqueror\n ], [VERSION, [NAME, 'Konqueror']], [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i // IE11\n ], [VERSION, [NAME, 'IE']], [\n /ya(?:search)?browser\\/([\\w\\.]+)/i // Yandex\n ], [VERSION, [NAME, 'Yandex']], [\n /slbrowser\\/([\\w\\.]+)/i // Smart Lenovo Browser\n ], [VERSION, [NAME, 'Smart Lenovo '+BROWSER]], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [\n /\\bfocus\\/([\\w\\.]+)/i // Firefox Focus\n ], [VERSION, [NAME, FIREFOX+' Focus']], [\n /\\bopt\\/([\\w\\.]+)/i // Opera Touch\n ], [VERSION, [NAME, OPERA+' Touch']], [\n /coc_coc\\w+\\/([\\w\\.]+)/i // Coc Coc Browser\n ], [VERSION, [NAME, 'Coc Coc']], [\n /dolfin\\/([\\w\\.]+)/i // Dolphin\n ], [VERSION, [NAME, 'Dolphin']], [\n /coast\\/([\\w\\.]+)/i // Opera Coast\n ], [VERSION, [NAME, OPERA+' Coast']], [\n /miuibrowser\\/([\\w\\.]+)/i // MIUI Browser\n ], [VERSION, [NAME, 'MIUI' + SUFFIX_BROWSER]], [\n /fxios\\/([\\w\\.-]+)/i // Firefox for iOS\n ], [VERSION, [NAME, FIREFOX]], [\n /\\bqihoobrowser\\/?([\\w\\.]*)/i // 360\n ], [VERSION, [NAME, '360']], [\n /\\b(qq)\\/([\\w\\.]+)/i // QQ\n ], [[NAME, /(.+)/, '$1Browser'], VERSION], [\n /(oculus|sailfish|huawei|vivo|pico)browser\\/([\\w\\.]+)/i\n ], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser\n /samsungbrowser\\/([\\w\\.]+)/i // Samsung Internet\n ], [VERSION, [NAME, SAMSUNG + ' Internet']], [\n /metasr[\\/ ]?([\\d\\.]+)/i // Sogou Explorer\n ], [VERSION, [NAME, 'Sogou Explorer']], [\n /(sogou)mo\\w+\\/([\\d\\.]+)/i // Sogou Mobile\n ], [[NAME, 'Sogou Mobile'], VERSION], [\n /(electron)\\/([\\w\\.]+) safari/i, // Electron-based App\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i, // Tesla\n /m?(qqbrowser|2345(?=browser|chrome|explorer))\\w*[\\/ ]?v?([\\w\\.]+)/i // QQ/2345\n ], [NAME, VERSION], [\n /(lbbrowser|rekonq)/i, // LieBao Browser/Rekonq\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [NAME], [\n /ome\\/([\\w\\.]+) \\w* ?(iron) saf/i, // Iron\n /ome\\/([\\w\\.]+).+qihu (360)[es]e/i // 360\n ], [VERSION, NAME], [\n\n // WebView\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i // Facebook App for iOS & Android\n ], [[NAME, FACEBOOK], VERSION], [\n /(Klarna)\\/([\\w\\.]+)/i, // Klarna Shopping Browser for iOS & Android\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i, // Kakao App\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i, // Naver InApp\n /safari (line)\\/([\\w\\.]+)/i, // Line App for iOS\n /\\b(line)\\/([\\w\\.]+)\\/iab/i, // Line App for Android\n /(alipay)client\\/([\\w\\.]+)/i, // Alipay\n /(twitter)(?:and| f.+e\\/([\\w\\.]+))/i, // Twitter\n /(chromium|instagram|snapchat)[\\/ ]([-\\w\\.]+)/i // Chromium/Instagram/Snapchat\n ], [NAME, VERSION], [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i // Google Search Appliance on iOS\n ], [VERSION, [NAME, 'GSA']], [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i // TikTok\n ], [VERSION, [NAME, 'TikTok']], [\n\n /headlesschrome(?:\\/([\\w\\.]+)| )/i // Chrome Headless\n ], [VERSION, [NAME, CHROME+' Headless']], [\n\n / wv\\).+(chrome)\\/([\\w\\.]+)/i // Chrome WebView\n ], [[NAME, CHROME+' WebView'], VERSION], [\n\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i // Android Browser\n ], [VERSION, [NAME, 'Android '+BROWSER]], [\n\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia\n ], [NAME, VERSION], [\n\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i // Mobile Safari\n ], [VERSION, [NAME, 'Mobile Safari']], [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, strMapper, oldSafariMap]], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(wolvic|librewolf)\\/([\\w\\.]+)/i // Wolvic/LibreWolf\n ], [NAME, VERSION], [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i // Firefox Reality\n ], [VERSION, [NAME, FIREFOX+' Reality']], [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i, // Flow\n /(swiftfox)/i, // Swiftfox\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\\/ ]?([\\w\\.\\+]+)/i,\n // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix\n /(firefox)\\/([\\w\\.]+)/i, // Other Firefox-based\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i, // Mozilla\n\n // Other\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser\n /(links) \\(([\\w\\.]+)/i // Links\n ], [NAME, [VERSION, /_/g, '.']], [\n \n /(cobalt)\\/([\\w\\.]+)/i // Cobalt\n ], [NAME, [VERSION, /master.|lts./, \"\"]]\n ],\n\n cpu : [[\n\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i // IA32 (quicktime)\n ], [[ARCHITECTURE, lowerize]], [\n\n /((?:i[346]|x)86)[;\\)]/i // IA32 (x86)\n ], [[ARCHITECTURE, 'ia32']], [\n\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i // ARM64\n ], [[ARCHITECTURE, 'arm64']], [\n\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i // ARMHF\n ], [[ARCHITECTURE, 'armhf']], [\n\n // PocketPC mistakenly identified as PowerPC\n /windows (ce|mobile); ppc;/i\n ], [[ARCHITECTURE, 'arm']], [\n\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i // PowerPC\n ], [[ARCHITECTURE, /ower/, EMPTY, lowerize]], [\n\n /(sun4\\w)[;\\)]/i // SPARC\n ], [[ARCHITECTURE, 'sparc']], [\n\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n // IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC\n ], [[ARCHITECTURE, lowerize]]\n ],\n\n device : [[\n\n //////////////////////////\n // MOBILES & TABLETS\n /////////////////////////\n\n // Samsung\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [\n /\\b((?:s[cgp]h|gt|sm)-(?![lr])\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]((?!sm-[lr])[-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [\n\n // Apple\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i // iPod/iPhone\n ], [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], [\n /\\((ipad);[-\\w\\),; ]+apple/i, // iPad\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ], [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], [\n /(macintosh);/i\n ], [MODEL, [VENDOR, APPLE]], [\n\n // Sharp\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [\n\n // Honor\n /(?:honor)([-\\w ]+)[;\\)]/i\n ], [MODEL, [VENDOR, 'Honor'], [TYPE, MOBILE]], [\n\n // Huawei\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [\n /(?:huawei)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [\n\n // Xiaomi\n /\\b(poco[\\w ]+|m2\\d{3}j\\d\\d[a-z]{2})(?: bui|\\))/i, // Xiaomi POCO\n /\\b; (\\w+) build\\/hm\\1/i, // Xiaomi Hongmi 'numeric' models\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i, // Xiaomi Hongmi\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i, // Xiaomi Redmi\n /oid[^\\)]+; (m?[12][0-389][01]\\w{3,6}[c-y])( bui|; wv|\\))/i, // Xiaomi Redmi 'numeric' models\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\\))/i // Xiaomi Mi\n ], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [\n /oid[^\\)]+; (2\\d{4}(283|rpbf)[cgl])( bui|\\))/i, // Redmi Pad\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i // Mi Pad tablets\n ],[[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, TABLET]], [\n\n // OPPO\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, MOBILE]], [\n /\\b(opd2\\d{3}a?) bui/i\n ], [MODEL, [VENDOR, 'OPPO'], [TYPE, TABLET]], [\n\n // Vivo\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ], [MODEL, [VENDOR, 'Vivo'], [TYPE, MOBILE]], [\n\n // Realme\n /\\b(rmx[1-3]\\d{3})(?: bui|;|\\))/i\n ], [MODEL, [VENDOR, 'Realme'], [TYPE, MOBILE]], [\n\n // Motorola\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ], [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], [\n\n // LG\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [\n\n // Lenovo\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ], [MODEL, [VENDOR, 'Lenovo'], [TYPE, TABLET]], [\n\n // Nokia\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [\n\n // Google\n /(pixel c)\\b/i // Google Pixel C\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i // Google Pixel\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [\n\n // Sony\n /droid.+; (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ], [[MODEL, 'Xperia Tablet'], [VENDOR, SONY], [TYPE, TABLET]], [\n\n // OnePlus\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [\n\n // Amazon\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo(?!bc)\\w\\w)( bui|\\))/i, // Kindle Fire without Silk / Echo Show\n /(kf[a-z]+)( bui|\\)).+silk\\//i // Kindle Fire HD\n ], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i // Fire Phone\n ], [[MODEL, /(.+)/g, 'Fire Phone $1'], [VENDOR, AMAZON], [TYPE, MOBILE]], [\n\n // BlackBerry\n /(playbook);[-\\w\\),; ]+(rim)/i // BlackBerry PlayBook\n ], [MODEL, VENDOR, [TYPE, TABLET]], [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i // BlackBerry 10\n ], [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], [\n\n // Asus\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ], [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], [\n\n // HTC\n /(nexus 9)/i // HTC Nexus 9\n ], [MODEL, [VENDOR, 'HTC'], [TYPE, TABLET]], [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i, // HTC\n\n // ZTE\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony\n ], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [\n\n // TCL\n /droid [\\w\\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\\w*(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [\n\n // itel\n /(itel) ((\\w+))/i\n ], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : 'mobile' }]], [\n\n // Acer\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [\n\n // Meizu\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [\n \n // Ulefone\n /; ((?:power )?armor(?:[\\w ]{0,8}))(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [\n\n // Energizer\n /; (energy ?\\w+)(?: bui|\\))/i,\n /; energizer ([\\w ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Energizer'], [TYPE, MOBILE]], [\n\n // Cat\n /; cat (b35);/i,\n /; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Cat'], [TYPE, MOBILE]], [\n\n // Smartfren\n /((?:new )?andromax[\\w- ]+)(?: bui|\\))/i\n ], [MODEL, [VENDOR, 'Smartfren'], [TYPE, MOBILE]], [\n\n // Nothing\n /droid.+; (a(?:015|06[35]|142p?))/i\n ], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [\n\n // MIXED\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Infinix/Tecno/Micromax/Advan\n /; (imo) ((?!tab)[\\w ]+?)(?: bui|\\))/i, // IMO\n /(hp) ([\\w ]+\\w)/i, // HP iPAQ\n /(asus)-?(\\w+)/i, // Asus\n /(microsoft); (lumia[\\w ]+)/i, // Microsoft Lumia\n /(lenovo)[-_ ]?([-\\w]+)/i, // Lenovo\n /(jolla)/i, // Jolla\n /(oppo) ?([\\w ]+) bui/i // OPPO\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n\n /(imo) (tab \\w+)/i, // IMO\n /(kobo)\\s(ereader|touch)/i, // Kobo\n /(archos) (gamepad2?)/i, // Archos\n /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad\n /(kindle)\\/([\\w\\.]+)/i, // Kindle\n /(nook)[\\w ]+build\\/(\\w+)/i, // Nook\n /(dell) (strea[kpr\\d ]*[\\dko])/i, // Dell Streak\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i, // Le Pan Tablets\n /(trinity)[- ]*(t\\d{3}) bui/i, // Trinity Tablets\n /(gigaset)[- ]+(q\\w{1,9}) bui/i, // Gigaset Tablets\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i // Vodafone\n ], [VENDOR, MODEL, [TYPE, TABLET]], [\n\n /(surface duo)/i // Surface Duo\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i // Fairphone\n ], [MODEL, [VENDOR, 'Fairphone'], [TYPE, MOBILE]], [\n /(u304aa)/i // AT&T\n ], [MODEL, [VENDOR, 'AT&T'], [TYPE, MOBILE]], [\n /\\bsie-(\\w*)/i // Siemens\n ], [MODEL, [VENDOR, 'Siemens'], [TYPE, MOBILE]], [\n /\\b(rct\\w+) b/i // RCA Tablets\n ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [\n /\\b(venue[\\d ]{2,7}) b/i // Dell Venue Tablets\n ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [\n /\\b(q(?:mv|ta)\\w+) b/i // Verizon Tablet\n ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i // Barnes & Noble Tablet\n ], [MODEL, [VENDOR, 'Barnes & Noble'], [TYPE, TABLET]], [\n /\\b(tm\\d{3}\\w+) b/i\n ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [\n /\\b(k88) b/i // ZTE K Series Tablet\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, TABLET]], [\n /\\b(nx\\d{3}j) b/i // ZTE Nubia\n ], [MODEL, [VENDOR, 'ZTE'], [TYPE, MOBILE]], [\n /\\b(gen\\d{3}) b.+49h/i // Swiss GEN Mobile\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [\n /\\b(zur\\d{3}) b/i // Swiss ZUR Tablet\n ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [\n /\\b((zeki)?tb.*\\b) b/i // Zeki Tablets\n ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i // Dragon Touch Tablet\n ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [\n /\\b(ns-?\\w{0,9}) b/i // Insignia Tablets\n ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [\n /\\b((nxa|next)-?\\w{0,9}) b/i // NextBook Tablets\n ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i // Voice Xtreme Phones\n ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [\n /\\b(lvtel\\-)?(v1[12]) b/i // LvTel Phones\n ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [\n /\\b(ph-1) /i // Essential PH-1\n ], [MODEL, [VENDOR, 'Essential'], [TYPE, MOBILE]], [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i // Envizen Tablets\n ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [\n /\\b(trio[-\\w\\. ]+) b/i // MachSpeed Tablets\n ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [\n /\\btu_(1491) b/i // Rotor Tablets\n ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [\n /(shield[\\w ]+) b/i // Nvidia Shield Tablets\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, TABLET]], [\n /(sprint) (\\w+)/i // Sprint Phones\n ], [VENDOR, MODEL, [TYPE, MOBILE]], [\n /(kin\\.[onetw]{3})/i // Microsoft Kin\n ], [[MODEL, /\\./g, ' '], [VENDOR, MICROSOFT], [TYPE, MOBILE]], [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i // Zebra\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], [\n\n ///////////////////\n // SMARTTVS\n ///////////////////\n\n /smart-tv.+(samsung)/i // Samsung\n ], [VENDOR, [TYPE, SMARTTV]], [\n /hbbtv.+maple;(\\d+)/i\n ], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i // LG SmartTV\n ], [[VENDOR, LG], [TYPE, SMARTTV]], [\n /(apple) ?tv/i // Apple TV\n ], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast\n ], [[MODEL, CHROME+'cast'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /droid.+aft(\\w+)( bui|\\))/i // Fire TV\n ], [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i // Sharp\n ], [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]],[\n /(bravia[\\w ]+)( bui|\\))/i // Sony\n ], [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], [\n /(mitv-\\w{5}) bui/i // Xiaomi\n ], [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], [\n /Hbbtv.*(technisat) (.*);/i // TechniSAT\n ], [VENDOR, MODEL, [TYPE, SMARTTV]], [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i, // Roku\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i // HbbTV devices\n ], [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i // SmartTV from Unidentified Vendors\n ], [[TYPE, SMARTTV]], [\n\n ///////////////////\n // CONSOLES\n ///////////////////\n\n /(ouya)/i, // Ouya\n /(nintendo) ([wids3utch]+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation [345portablevi]+)/i // Playstation\n ], [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i // Microsoft Xbox\n ], [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], [\n\n ///////////////////\n // WEARABLES\n ///////////////////\n\n /\\b(sm-[lr]\\d\\d[05][fnuw]?s?)\\b/i // Samsung Galaxy Watch\n ], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [\n /((pebble))app/i // Pebble\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i // Apple Watch\n ], [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], [\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /droid.+; (wt63?0{2,3})\\)/i\n ], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [\n\n ///////////////////\n // XR\n ///////////////////\n\n /droid.+; (glass) \\d/i // Google Glass\n ], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [\n /(pico) (4|neo3(?: link|pro)?)/i // Pico\n ], [VENDOR, MODEL, [TYPE, WEARABLE]], [\n /; (quest( \\d| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [\n\n ///////////////////\n // EMBEDDED\n ///////////////////\n\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i // Tesla\n ], [VENDOR, [TYPE, EMBEDDED]], [\n /(aeobc)\\b/i // Echo Dot\n ], [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], [\n\n ////////////////////\n // MIXED (GENERIC)\n ///////////////////\n\n /droid .+?; ([^;]+?)(?: bui|; wv\\)|\\) applew).+? mobile safari/i // Android Phones from Unidentified Vendors\n ], [MODEL, [TYPE, MOBILE]], [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i // Android Tablets from Unidentified Vendors\n ], [MODEL, [TYPE, TABLET]], [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i // Unidentifiable Tablet\n ], [[TYPE, TABLET]], [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i // Unidentifiable Mobile\n ], [[TYPE, MOBILE]], [\n /(android[-\\w\\. ]{0,9});.+buil/i // Generic Android Device\n ], [MODEL, [VENDOR, 'Generic']]\n ],\n\n engine : [[\n\n /windows.+ edge\\/([\\w\\.]+)/i // EdgeHTML\n ], [VERSION, [NAME, EDGE+'HTML']], [\n\n /(arkweb)\\/([\\w\\.]+)/i // ArkWeb\n ], [NAME, VERSION], [\n\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i // Blink\n ], [VERSION, [NAME, 'Blink']], [\n\n /(presto)\\/([\\w\\.]+)/i, // Presto\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo\n /ekioh(flow)\\/([\\w\\.]+)/i, // Flow\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i, // KHTML/Tasman/Links\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i, // iCab\n /\\b(libweb)/i\n ], [NAME, VERSION], [\n\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i // Gecko\n ], [VERSION, NAME]\n ],\n\n os : [[\n\n // Windows\n /microsoft (windows) (vista|xp)/i // Windows (iTunes)\n ], [NAME, VERSION], [\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i // Windows Phone\n ], [NAME, [VERSION, strMapper, windowsVersionMap]], [\n /windows nt 6\\.2; (arm)/i, // Windows RT\n /windows[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i,\n /(?:win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ], [[VERSION, strMapper, windowsVersionMap], [NAME, 'Windows']], [\n\n // iOS/macOS\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i, // iOS\n /(?:ios;fbsv\\/|iphone.+ios[\\/ ])([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ], [[VERSION, /_/g, '.'], [NAME, 'iOS']], [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i // Mac OS\n ], [[NAME, MAC_OS], [VERSION, /_/g, '.']], [\n\n // Mobile OSes\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS\n ], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS/OpenHarmony\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish|openharmony)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i, // Blackberry\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i, // Tizen/KaiOS\n /\\((series40);/i // Series 40\n ], [NAME, VERSION], [\n /\\(bb(10);/i // BlackBerry 10\n ], [VERSION, [NAME, BLACKBERRY]], [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i // Symbian\n ], [VERSION, [NAME, 'Symbian']], [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i // Firefox OS\n ], [VERSION, [NAME, FIREFOX+' OS']], [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i // WebOS\n ], [VERSION, [NAME, 'webOS']], [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i // watchOS\n ], [VERSION, [NAME, 'watchOS']], [\n\n // Google Chromecast\n /crkey\\/([\\d\\.]+)/i // Google Chromecast\n ], [VERSION, [NAME, CHROME+'cast']], [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, CHROMIUM_OS], VERSION],[\n\n // Smart TVs\n /panasonic;(viera)/i, // Panasonic Viera\n /(netrange)mmh/i, // Netrange\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i, // NetTV\n\n // Console\n /(nintendo|playstation) ([wids345portablevuch]+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n\n // Other\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i, // Joli/Palm\n /(mint)[\\/\\(\\) ]?(\\w*)/i, // Mint\n /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire\n /(hurd|linux) ?([\\w\\.]*)/i, // Hurd/Linux\n /(gnu) ?([\\w\\.]*)/i, // GNU\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly\n /(haiku) (\\w+)/i // Haiku\n ], [NAME, VERSION], [\n /(sunos) ?([\\w\\.\\d]*)/i // Solaris\n ], [[NAME, 'Solaris'], VERSION], [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i, // Solaris\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i, // AIX\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS\n /(unix) ?([\\w\\.]*)/i // UNIX\n ], [NAME, VERSION]\n ]\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n var UAParser = function (ua, extensions) {\n\n if (typeof ua === OBJ_TYPE) {\n extensions = ua;\n ua = undefined;\n }\n\n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions).getResult();\n }\n\n var _navigator = (typeof window !== UNDEF_TYPE && window.navigator) ? window.navigator : undefined;\n var _ua = ua || ((_navigator && _navigator.userAgent) ? _navigator.userAgent : EMPTY);\n var _uach = (_navigator && _navigator.userAgentData) ? _navigator.userAgentData : undefined;\n var _rgxmap = extensions ? extend(regexes, extensions) : regexes;\n var _isSelfNav = _navigator && _navigator.userAgent == _ua;\n\n this.getBrowser = function () {\n var _browser = {};\n _browser[NAME] = undefined;\n _browser[VERSION] = undefined;\n rgxMapper.call(_browser, _ua, _rgxmap.browser);\n _browser[MAJOR] = majorize(_browser[VERSION]);\n // Brave-specific detection\n if (_isSelfNav && _navigator && _navigator.brave && typeof _navigator.brave.isBrave == FUNC_TYPE) {\n _browser[NAME] = 'Brave';\n }\n return _browser;\n };\n this.getCPU = function () {\n var _cpu = {};\n _cpu[ARCHITECTURE] = undefined;\n rgxMapper.call(_cpu, _ua, _rgxmap.cpu);\n return _cpu;\n };\n this.getDevice = function () {\n var _device = {};\n _device[VENDOR] = undefined;\n _device[MODEL] = undefined;\n _device[TYPE] = undefined;\n rgxMapper.call(_device, _ua, _rgxmap.device);\n if (_isSelfNav && !_device[TYPE] && _uach && _uach.mobile) {\n _device[TYPE] = MOBILE;\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (_isSelfNav && _device[MODEL] == 'Macintosh' && _navigator && typeof _navigator.standalone !== UNDEF_TYPE && _navigator.maxTouchPoints && _navigator.maxTouchPoints > 2) {\n _device[MODEL] = 'iPad';\n _device[TYPE] = TABLET;\n }\n return _device;\n };\n this.getEngine = function () {\n var _engine = {};\n _engine[NAME] = undefined;\n _engine[VERSION] = undefined;\n rgxMapper.call(_engine, _ua, _rgxmap.engine);\n return _engine;\n };\n this.getOS = function () {\n var _os = {};\n _os[NAME] = undefined;\n _os[VERSION] = undefined;\n rgxMapper.call(_os, _ua, _rgxmap.os);\n if (_isSelfNav && !_os[NAME] && _uach && _uach.platform && _uach.platform != 'Unknown') {\n _os[NAME] = _uach.platform \n .replace(/chrome os/i, CHROMIUM_OS)\n .replace(/macos/i, MAC_OS); // backward compatibility\n }\n return _os;\n };\n this.getResult = function () {\n return {\n ua : this.getUA(),\n browser : this.getBrowser(),\n engine : this.getEngine(),\n os : this.getOS(),\n device : this.getDevice(),\n cpu : this.getCPU()\n };\n };\n this.getUA = function () {\n return _ua;\n };\n this.setUA = function (ua) {\n _ua = (typeof ua === STR_TYPE && ua.length > UA_MAX_LENGTH) ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n };\n this.setUA(_ua);\n return this;\n };\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR]);\n UAParser.CPU = enumerize([ARCHITECTURE]);\n UAParser.DEVICE = enumerize([MODEL, VENDOR, TYPE, CONSOLE, MOBILE, SMARTTV, TABLET, WEARABLE, EMBEDDED]);\n UAParser.ENGINE = UAParser.OS = enumerize([NAME, VERSION]);\n\n ///////////\n // Export\n //////////\n\n // check js environment\n if (typeof(exports) !== UNDEF_TYPE) {\n // nodejs env\n if (typeof module !== UNDEF_TYPE && module.exports) {\n exports = module.exports = UAParser;\n }\n exports.UAParser = UAParser;\n } else {\n // requirejs env (optional)\n if (typeof(define) === FUNC_TYPE && define.amd) {\n define(function () {\n return UAParser;\n });\n } else if (typeof window !== UNDEF_TYPE) {\n // browser env\n window.UAParser = UAParser;\n }\n }\n\n // jQuery/Zepto specific (optional)\n // Note:\n // In AMD env the global scope should be kept clean, but jQuery is an exception.\n // jQuery always exports to global scope, unless jQuery.noConflict(true) is used,\n // and we should catch that.\n var $ = typeof window !== UNDEF_TYPE && (window.jQuery || window.Zepto);\n if ($ && !$.ua) {\n var parser = new UAParser();\n $.ua = parser.getResult();\n $.ua.get = function () {\n return parser.getUA();\n };\n $.ua.set = function (ua) {\n parser.setUA(ua);\n var result = parser.getResult();\n for (var prop in result) {\n $.ua[prop] = result[prop];\n }\n };\n }\n\n})(typeof window === 'object' ? window : this);\n"],"names":["window","undefined","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","AMAZON","APPLE","ASUS","BLACKBERRY","BROWSER","CHROME","FIREFOX","GOOGLE","HUAWEI","MICROSOFT","MOTOROLA","OPERA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","FACEBOOK","CHROMIUM_OS","MAC_OS","SUFFIX_BROWSER","extend","regexes","extensions","mergedRegexes","i","enumerize","arr","enums","has","str1","str2","lowerize","str","trim","len","rgxMapper","ua","arrays","j","k","p","q","matches","match","regex","props","strMapper","map","windowsVersionMap","EDGE","UAParser","_navigator","_ua","_uach","_rgxmap","_isSelfNav","version","_browser","_cpu","_device","_engine","_os","exports","module","define","$","parser","result","prop"],"mappings":"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"}