{"version":3,"file":"static/chunks/2990-15d5dba8a61a829f.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next/dist/api/image.js","webpack://_N_E/./node_modules/next/dist/shared/lib/image-external.js","webpack://_N_E/./node_modules/ua-parser-js/src/main/ua-parser.mjs","webpack://_N_E/"],"sourcesContent":["export { default } from \"../shared/lib/image-external\";\nexport * from \"../shared/lib/image-external\";\n\n//# sourceMappingURL=image.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n0 && (module.exports = {\n getImageProps: null,\n default: null\n});\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getImageProps: function() {\n return getImageProps;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = require(\"@swc/helpers/_/_interop_require_default\");\nconst _getimgprops = require(\"./get-img-props\");\nconst _imagecomponent = require(\"../../client/image-component\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(require(\"next/dist/shared/lib/image-loader\"));\nconst getImageProps = (imgProps)=>{\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: process.env.__NEXT_IMAGE_OPTS\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n};\nconst _default = _imagecomponent.Image;\n\n//# sourceMappingURL=image-external.js.map","// Generated ESM version of ua-parser-js\n// DO NOT EDIT THIS FILE!\n// Source: /src/main/ua-parser.js\n\n/////////////////////////////////////////////////////////////////////////////////\n/* UAParser.js v2.0.0-rc.1\n Copyright © 2012-2024 Faisal Salman \n AGPLv3 License *//*\n Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.\n Supports browser & node.js environment. \n Demo : https://uaparser.dev\n Source : https://github.com/faisalman/ua-parser-js */\n/////////////////////////////////////////////////////////////////////////////////\n\n/* jshint esversion: 6 */ \n/* globals window */\n\n\n \n //////////////\n // Constants\n /////////////\n\n var LIBVERSION = '2.0.0-rc.1',\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 XR = 'xr',\n EMBEDDED = 'embedded',\n USER_AGENT = 'user-agent',\n UA_MAX_LENGTH = 500,\n BRANDS = 'brands',\n FORMFACTORS = 'formFactors',\n FULLVERLIST = 'fullVersionList',\n PLATFORM = 'platform',\n PLATFORMVER = 'platformVersion',\n BITNESS = 'bitness',\n CH_HEADER = 'sec-ch-ua',\n CH_HEADER_FULL_VER_LIST = CH_HEADER + '-full-version-list',\n CH_HEADER_ARCH = CH_HEADER + '-arch',\n CH_HEADER_BITNESS = CH_HEADER + '-' + BITNESS,\n CH_HEADER_FORM_FACTORS = CH_HEADER + '-form-factors',\n CH_HEADER_MOBILE = CH_HEADER + '-' + MOBILE,\n CH_HEADER_MODEL = CH_HEADER + '-' + MODEL,\n CH_HEADER_PLATFORM = CH_HEADER + '-' + PLATFORM,\n CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',\n CH_ALL_VALUES = [BRANDS, FULLVERLIST, MOBILE, MODEL, PLATFORM, PLATFORMVER, ARCHITECTURE, FORMFACTORS, BITNESS],\n UA_BROWSER = 'browser',\n UA_CPU = 'cpu',\n UA_DEVICE = 'device',\n UA_ENGINE = 'engine',\n UA_OS = 'os',\n UA_RESULT = 'result',\n AMAZON = 'Amazon',\n APPLE = 'Apple',\n ASUS = 'ASUS',\n BLACKBERRY = 'BlackBerry',\n GOOGLE = 'Google',\n HUAWEI = 'Huawei',\n LENOVO = 'Lenovo',\n LG = 'LG',\n MICROSOFT = 'Microsoft',\n MOTOROLA = 'Motorola',\n SAMSUNG = 'Samsung',\n SHARP = 'Sharp',\n SONY = 'Sony',\n XIAOMI = 'Xiaomi',\n ZEBRA = 'Zebra',\n PREFIX_MOBILE = 'Mobile ',\n SUFFIX_BROWSER = ' Browser',\n CHROME = 'Chrome',\n CHROMECAST = 'Chromecast',\n EDGE = 'Edge',\n FIREFOX = 'Firefox',\n OPERA = 'Opera',\n FACEBOOK = 'Facebook',\n SOGOU = 'Sogou',\n WINDOWS = 'Windows';\n \n var isWindow = typeof window !== UNDEF_TYPE,\n NAVIGATOR = (isWindow && window.navigator) ? \n window.navigator : \n undefined,\n NAVIGATOR_UADATA = (NAVIGATOR && NAVIGATOR.userAgentData) ? \n NAVIGATOR.userAgentData : \n undefined;\n\n ///////////\n // Helper\n //////////\n\n var extend = function (defaultRgx, extensions) {\n var mergedRgx = {};\n var extraRgx = extensions;\n if (!isExtensions(extensions)) {\n extraRgx = {};\n for (var i in extensions) {\n for (var j in extensions[i]) {\n extraRgx[j] = extensions[i][j].concat(extraRgx[j] ? extraRgx[j] : []);\n }\n }\n }\n for (var k in defaultRgx) {\n mergedRgx[k] = extraRgx[k] && extraRgx[k].length % 2 === 0 ? extraRgx[k].concat(defaultRgx[k]) : defaultRgx[k];\n }\n return mergedRgx;\n },\n enumerize = function (arr) {\n var enums = {};\n for (var i=0; i 0) {\n for (var i in str1) {\n if (lowerize(str1[i]) == lowerize(str2)) return true;\n }\n return false;\n }\n return isString(str1) ? lowerize(str2).indexOf(lowerize(str1)) !== -1 : false;\n },\n isExtensions = function (obj, deep) {\n for (var prop in obj) {\n return /^(browser|cpu|device|engine|os)$/.test(prop) || (deep ? isExtensions(obj[prop]) : false);\n }\n },\n isString = function (val) {\n return typeof val === STR_TYPE;\n },\n itemListToArray = function (header) {\n if (!header) return undefined;\n var arr = [];\n var tokens = strip(/\\\\?\\\"/g, header).split(',');\n for (var i = 0; i < tokens.length; i++) {\n if (tokens[i].indexOf(';') > -1) {\n var token = trim(tokens[i]).split(';v=');\n arr[i] = { brand : token[0], version : token[1] };\n } else {\n arr[i] = trim(tokens[i]);\n }\n }\n return arr;\n },\n lowerize = function (str) {\n return isString(str) ? str.toLowerCase() : str;\n },\n majorize = function (version) {\n return isString(version) ? strip(/[^\\d\\.]/g, version).split('.')[0] : undefined;\n },\n setProps = function (arr) {\n for (var i in arr) {\n var propName = arr[i];\n if (typeof propName == OBJ_TYPE && propName.length == 2) {\n this[propName[0]] = propName[1];\n } else {\n this[propName] = undefined;\n }\n }\n return this;\n },\n strip = function (pattern, str) {\n return isString(str) ? str.replace(pattern, EMPTY) : str;\n },\n stripQuotes = function (str) {\n return strip(/\\\\?\\\"/g, str); \n },\n trim = function (str, len) {\n if (isString(str)) {\n str = strip(/^\\s\\s*/, str);\n return typeof len === UNDEF_TYPE ? str : str.substring(0, UA_MAX_LENGTH);\n }\n };\n\n ///////////////\n // Map helper\n //////////////\n\n var rgxMapper = function (ua, arrays) {\n\n if(!ua || !arrays) return;\n\n var i = 0, j, k, p, q, matches, match;\n\n // loop through all regexes maps\n while (i < arrays.length && !matches) {\n\n var regex = arrays[i], // even sequence (0,2,4,..)\n props = arrays[i + 1]; // odd sequence (1,3,5,..)\n j = k = 0;\n\n // try matching uastring with regexes\n while (j < regex.length && !matches) {\n\n if (!regex[j]) { break; }\n matches = regex[j++].exec(ua);\n\n if (!!matches) {\n for (p = 0; p < props.length; p++) {\n match = matches[++k];\n q = props[p];\n // check if given property is actually array\n if (typeof q === OBJ_TYPE && q.length > 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 var 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 formFactorsMap = {\n 'embedded' : 'Automotive',\n 'mobile' : 'Mobile',\n 'tablet' : ['Tablet', 'EInk'],\n 'smarttv' : 'TV',\n 'wearable' : 'Watch',\n 'xr' : ['VR', 'XR'],\n '?' : ['Desktop', 'Unknown'],\n '*' : undefined\n };\n\n //////////////\n // Regex map\n /////////////\n\n var defaultRegexes = {\n\n browser : [[\n\n // Most common regardless engine\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i // Chrome for Android/iOS\n ], [VERSION, [NAME, PREFIX_MOBILE + '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 /(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)\\s?(?:browser)?[\\/ ]?([\\w\\.]*)/i, // Avant/IEMobile/SlimBrowser\n /(?:ms|\\()(ie) ([\\w\\.]+)/i, // Internet Explorer\n\n // 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)\\/([-\\w\\.]+)/i,\n // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio\n /(heytap|ovi)browser\\/([\\d\\.]+)/i, // HeyTap/Ovi\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, 'UCBrowser']], [\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 + SUFFIX_BROWSER]], [\n /(avast|avg)\\/([\\w\\.]+)/i // Avast/AVG Secure Browser\n ], [[NAME, /(.+)/, '$1 Secure' + SUFFIX_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, PREFIX_MOBILE + FIREFOX]], [\n /\\bqihu|(qi?ho?o?|360)browser/i // 360\n ], [[NAME, '360' + SUFFIX_BROWSER]], [\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 /(comodo_dragon)\\/([\\w\\.]+)/i // Comodo Dragon\n ], [[NAME, /_/g, ' '], VERSION], [\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|2345Explorer)[\\/ ]?([\\w\\.]+)/i // QQBrowser/2345 Browser\n ], [NAME, VERSION], [\n /(lbbrowser|rekonq)/i, // LieBao Browser/Rekonq\n /\\[(linkedin)app\\]/i // LinkedIn App for iOS & Android\n ], [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' + SUFFIX_BROWSER]], [\n\n /chrome\\/([\\w\\.]+) mobile/i // Chrome Mobile\n ], [VERSION, [NAME, PREFIX_MOBILE + 'Chrome']], [\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 // Safari Mobile\n ], [VERSION, [NAME, PREFIX_MOBILE + 'Safari']], [\n /iphone .*mobile(?:\\/\\w+ | ?)safari/i\n ], [[NAME, PREFIX_MOBILE + 'Safari']], [\n /version\\/([\\w\\.\\,]+) .*(safari)/i // Safari\n ], [VERSION, NAME], [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i // Safari < 3.0\n ], [NAME, [VERSION, '1']], [\n\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ], [NAME, VERSION], [\n\n // Gecko based\n /(?:mobile|tablet);.*(firefox)\\/([\\w\\.-]+)/i // Firefox Mobile\n ], [[NAME, PREFIX_MOBILE + FIREFOX], VERSION], [\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i // Netscape\n ], [[NAME, 'Netscape'], VERSION], [\n /(wolvic)\\/([\\w\\.]+)/i // Wolvic\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, /[^\\d\\.]+./, EMPTY]]\n ],\n\n cpu : [[\n\n /\\b(?:(amd|x|x86[-_]?|wow|win)64)\\b/i // AMD64 (x64)\n ], [[ARCHITECTURE, 'amd64']], [\n\n /(ia32(?=;))/i, // IA32 (quicktime)\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 // 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|honor)([-\\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 /tcl (xess p17aa)/i,\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(\\w|\\w\\w))?(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [\n /droid [\\w\\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\\w(\\w|\\w\\w))?(\\)| bui)/i\n ], [MODEL, [VENDOR, 'TCL'], [TYPE, MOBILE]], [\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 // 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)[-_ ]?([-\\w]*)/i,\n // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron\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 /(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 ], [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 /(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.+; ([c6]+|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.*devicetype\\/chromecast/i // Google Chromecast Third Generation\n ], [[MODEL, CHROMECAST+' Third Generation'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /crkey.*devicetype\\/([^/]*)/i // Google Chromecast with specific device type\n ], [[MODEL, /^/, 'Chromecast '], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /fuchsia.*crkey/i // Google Chromecast Nest Hub\n ], [[MODEL, CHROMECAST+' Nest Hub'], [VENDOR, GOOGLE], [TYPE, SMARTTV]], [\n /crkey/i // Google Chromecast, Linux-based or unknown\n ], [[MODEL, CHROMECAST], [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) (\\w+)/i // Nintendo\n ], [VENDOR, MODEL, [TYPE, CONSOLE]], [\n /droid.+; (shield) bui/i // Nvidia\n ], [MODEL, [VENDOR, 'Nvidia'], [TYPE, CONSOLE]], [\n /(playstation \\w+)/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.+; (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, XR]], [\n /(pico) (4|neo3(?: link|pro)?)/i // Pico\n ], [VENDOR, MODEL, [TYPE, XR]], [\n /; (quest( \\d| pro)?)/i // Oculus Quest\n ], [MODEL, [VENDOR, FACEBOOK], [TYPE, XR]], [\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)\\/([\\w\\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna\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, 'macOS'], [VERSION, /_/g, '.']], [\n\n // Google Chromecast\n /android ([\\d\\.]+).*crkey/i // Google Chromecast, Android-based\n ], [VERSION, [NAME, CHROMECAST + ' Android']], [\n /fuchsia.*crkey\\/([\\d\\.]+)/i // Google Chromecast, Fuchsia-based\n ], [VERSION, [NAME, CHROMECAST + ' Fuchsia']], [\n /crkey\\/([\\d\\.]+).*devicetype\\/smartspeaker/i // Google Chromecast, Linux-based Smart Speaker\n ], [VERSION, [NAME, CHROMECAST + ' SmartSpeaker']], [\n /linux.*crkey\\/([\\d\\.]+)/i // Google Chromecast, Legacy Linux-based\n ], [VERSION, [NAME, CHROMECAST + ' Linux']], [\n /crkey\\/([\\d\\.]+)/i // Google Chromecast, unknown\n ], [VERSION, [NAME, CHROMECAST]], [\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 ChromeOS\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i // Chromium OS\n ], [[NAME, \"Chrome 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) (\\w+)/i, // Nintendo/Playstation\n /(xbox); +xbox ([^\\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S)\n /(pico) .+os([\\w\\.]+)/i, // Pico\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 // Factories\n ////////////////\n\n var defaultProps = (function () {\n var props = { init : {}, isIgnore : {}, isIgnoreRgx : {}, toString : {}};\n setProps.call(props.init, [\n [UA_BROWSER, [NAME, VERSION, MAJOR, TYPE]],\n [UA_CPU, [ARCHITECTURE]],\n [UA_DEVICE, [TYPE, MODEL, VENDOR]],\n [UA_ENGINE, [NAME, VERSION]],\n [UA_OS, [NAME, VERSION]]\n ]);\n setProps.call(props.isIgnore, [\n [UA_BROWSER, [VERSION, MAJOR]],\n [UA_ENGINE, [VERSION]],\n [UA_OS, [VERSION]]\n ]);\n setProps.call(props.isIgnoreRgx, [\n [UA_BROWSER, / ?browser$/i],\n [UA_OS, / ?os$/i]\n ]);\n setProps.call(props.toString, [\n [UA_BROWSER, [NAME, VERSION]],\n [UA_CPU, [ARCHITECTURE]],\n [UA_DEVICE, [VENDOR, MODEL]],\n [UA_ENGINE, [NAME, VERSION]],\n [UA_OS, [NAME, VERSION]]\n ]);\n return props;\n })();\n\n var createIData = function (item, itemType) {\n\n var init_props = defaultProps.init[itemType],\n is_ignoreProps = defaultProps.isIgnore[itemType] || 0,\n is_ignoreRgx = defaultProps.isIgnoreRgx[itemType] || 0,\n toString_props = defaultProps.toString[itemType] || 0;\n\n function IData () {\n setProps.call(this, init_props);\n }\n\n IData.prototype.getItem = function () {\n return item;\n };\n\n IData.prototype.withClientHints = function () {\n\n // nodejs / non-client-hints browsers\n if (!NAVIGATOR_UADATA) {\n return item\n .parseCH()\n .get();\n }\n\n // browsers based on chromium 85+\n return NAVIGATOR_UADATA\n .getHighEntropyValues(CH_ALL_VALUES)\n .then(function (res) {\n return item\n .setCH(new UACHData(res, false))\n .parseCH()\n .get();\n });\n };\n\n IData.prototype.withFeatureCheck = function () {\n return item.detectFeature().get();\n };\n\n if (itemType != UA_RESULT) {\n IData.prototype.is = function (strToCheck) {\n var is = false;\n for (var i in this) {\n if (this.hasOwnProperty(i) && !has(is_ignoreProps, i) && lowerize(is_ignoreRgx ? strip(is_ignoreRgx, this[i]) : this[i]) == lowerize(is_ignoreRgx ? strip(is_ignoreRgx, strToCheck) : strToCheck)) {\n is = true;\n if (strToCheck != UNDEF_TYPE) break;\n } else if (strToCheck == UNDEF_TYPE && is) {\n is = !is;\n break;\n }\n }\n return is;\n };\n IData.prototype.toString = function () {\n var str = EMPTY;\n for (var i in toString_props) {\n if (typeof(this[toString_props[i]]) !== UNDEF_TYPE) {\n str += (str ? ' ' : EMPTY) + this[toString_props[i]];\n }\n }\n return str || UNDEF_TYPE;\n };\n }\n\n if (!NAVIGATOR_UADATA) {\n IData.prototype.then = function (cb) { \n var that = this;\n var IDataResolve = function () {\n for (var prop in that) {\n if (that.hasOwnProperty(prop)) {\n this[prop] = that[prop];\n }\n }\n };\n IDataResolve.prototype = {\n is : IData.prototype.is,\n toString : IData.prototype.toString\n };\n var resolveData = new IDataResolve();\n cb(resolveData);\n return resolveData;\n };\n }\n\n return new IData();\n };\n\n /////////////////\n // Constructor\n ////////////////\n\n function UACHData (uach, isHttpUACH) {\n uach = uach || {};\n setProps.call(this, CH_ALL_VALUES);\n if (isHttpUACH) {\n setProps.call(this, [\n [BRANDS, itemListToArray(uach[CH_HEADER])],\n [FULLVERLIST, itemListToArray(uach[CH_HEADER_FULL_VER_LIST])],\n [MOBILE, /\\?1/.test(uach[CH_HEADER_MOBILE])],\n [MODEL, stripQuotes(uach[CH_HEADER_MODEL])],\n [PLATFORM, stripQuotes(uach[CH_HEADER_PLATFORM])],\n [PLATFORMVER, stripQuotes(uach[CH_HEADER_PLATFORM_VER])],\n [ARCHITECTURE, stripQuotes(uach[CH_HEADER_ARCH])],\n [FORMFACTORS, itemListToArray(uach[CH_HEADER_FORM_FACTORS])],\n [BITNESS, stripQuotes(uach[CH_HEADER_BITNESS])]\n ]);\n } else {\n for (var prop in uach) {\n if(this.hasOwnProperty(prop) && typeof uach[prop] !== UNDEF_TYPE) this[prop] = uach[prop];\n }\n }\n }\n\n function UAItem (itemType, ua, rgxMap, uaCH) {\n\n this.get = function (prop) {\n if (!prop) return this.data;\n return this.data.hasOwnProperty(prop) ? this.data[prop] : undefined;\n };\n\n this.set = function (prop, val) {\n this.data[prop] = val;\n return this;\n };\n\n this.setCH = function (ch) {\n this.uaCH = ch;\n return this;\n };\n\n this.detectFeature = function () {\n if (NAVIGATOR && NAVIGATOR.userAgent == this.ua) {\n switch (this.itemType) {\n case UA_BROWSER:\n // Brave-specific detection\n if (NAVIGATOR.brave && typeof NAVIGATOR.brave.isBrave == FUNC_TYPE) {\n this.set(NAME, 'Brave');\n }\n break;\n case UA_DEVICE:\n // Chrome-specific detection: check for 'mobile' value of navigator.userAgentData\n if (!this.get(TYPE) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[MOBILE]) {\n this.set(TYPE, MOBILE);\n }\n // iPadOS-specific detection: identified as Mac, but has some iOS-only properties\n if (this.get(MODEL) == 'Macintosh' && NAVIGATOR && typeof NAVIGATOR.standalone !== UNDEF_TYPE && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 2) {\n this.set(MODEL, 'iPad')\n .set(TYPE, TABLET);\n }\n break;\n case UA_OS:\n // Chrome-specific detection: check for 'platform' value of navigator.userAgentData\n if (!this.get(NAME) && NAVIGATOR_UADATA && NAVIGATOR_UADATA[PLATFORM]) {\n this.set(NAME, NAVIGATOR_UADATA[PLATFORM]);\n }\n break;\n case UA_RESULT:\n var data = this.data;\n var detect = function (itemType) {\n return data[itemType]\n .getItem()\n .detectFeature()\n .get();\n };\n this.set(UA_BROWSER, detect(UA_BROWSER))\n .set(UA_CPU, detect(UA_CPU))\n .set(UA_DEVICE, detect(UA_DEVICE))\n .set(UA_ENGINE, detect(UA_ENGINE))\n .set(UA_OS, detect(UA_OS));\n }\n }\n return this;\n };\n\n this.parseUA = function () {\n if (this.itemType != UA_RESULT) {\n rgxMapper.call(this.data, this.ua, this.rgxMap);\n }\n if (this.itemType == UA_BROWSER) {\n this.set(MAJOR, majorize(this.get(VERSION)));\n }\n return this;\n };\n\n this.parseCH = function () {\n var uaCH = this.uaCH,\n rgxMap = this.rgxMap;\n \n switch (this.itemType) {\n case UA_BROWSER:\n var brands = uaCH[FULLVERLIST] || uaCH[BRANDS], prevName;\n if (brands) {\n for (var i in brands) {\n var brandName = strip(/(Google|Microsoft) /, brands[i].brand || brands[i]),\n brandVersion = brands[i].version;\n if (!/not.a.brand/i.test(brandName) && (!prevName || (/chrom/i.test(prevName) && !/chromi/i.test(brandName)))) {\n this.set(NAME, brandName)\n .set(VERSION, brandVersion)\n .set(MAJOR, majorize(brandVersion));\n prevName = brandName;\n }\n }\n }\n break;\n case UA_CPU:\n var archName = uaCH[ARCHITECTURE];\n if (archName) {\n if (archName && uaCH[BITNESS] == '64') archName += '64';\n rgxMapper.call(this.data, archName + ';', rgxMap);\n }\n break;\n case UA_DEVICE:\n if (uaCH[MOBILE]) {\n this.set(TYPE, MOBILE);\n }\n if (uaCH[MODEL]) {\n this.set(MODEL, uaCH[MODEL]);\n }\n // Xbox-Specific Detection\n if (uaCH[MODEL] == 'Xbox') {\n this.set(TYPE, CONSOLE)\n .set(VENDOR, MICROSOFT);\n }\n if (uaCH[FORMFACTORS]) {\n var ff;\n if (typeof uaCH[FORMFACTORS] !== 'string') {\n var idx = 0;\n while (!ff && idx < uaCH[FORMFACTORS].length) {\n ff = strMapper(uaCH[FORMFACTORS][idx++], formFactorsMap);\n }\n } else {\n ff = strMapper(uaCH[FORMFACTORS], formFactorsMap);\n }\n this.set(TYPE, ff);\n }\n break;\n case UA_OS:\n var osName = uaCH[PLATFORM];\n if(osName) {\n var osVersion = uaCH[PLATFORMVER];\n if (osName == WINDOWS) osVersion = (parseInt(majorize(osVersion), 10) >= 13 ? '11' : '10');\n this.set(NAME, osName)\n .set(VERSION, osVersion);\n }\n // Xbox-Specific Detection\n if (this.get(NAME) == WINDOWS && uaCH[MODEL] == 'Xbox') {\n this.set(NAME, 'Xbox')\n .set(VERSION, undefined);\n } \n break;\n case UA_RESULT:\n var data = this.data;\n var parse = function (itemType) {\n return data[itemType]\n .getItem()\n .setCH(uaCH)\n .parseCH()\n .get();\n };\n this.set(UA_BROWSER, parse(UA_BROWSER))\n .set(UA_CPU, parse(UA_CPU))\n .set(UA_DEVICE, parse(UA_DEVICE))\n .set(UA_ENGINE, parse(UA_ENGINE))\n .set(UA_OS, parse(UA_OS));\n }\n return this;\n };\n\n setProps.call(this, [\n ['itemType', itemType],\n ['ua', ua],\n ['uaCH', uaCH],\n ['rgxMap', rgxMap],\n ['data', createIData(this, itemType)]\n ]);\n\n return this;\n }\n\n function UAParser (ua, extensions, headers) {\n\n if (typeof ua === OBJ_TYPE) {\n if (isExtensions(ua, true)) {\n if (typeof extensions === OBJ_TYPE) {\n headers = extensions; // case UAParser(extensions, headers) \n }\n extensions = ua; // case UAParser(extensions)\n } else {\n headers = ua; // case UAParser(headers)\n extensions = undefined;\n }\n ua = undefined;\n } else if (typeof ua === STR_TYPE && !isExtensions(extensions, true)) {\n headers = extensions; // case UAParser(ua, headers)\n extensions = undefined;\n }\n \n if (!(this instanceof UAParser)) {\n return new UAParser(ua, extensions, headers).getResult();\n }\n\n var userAgent = typeof ua === STR_TYPE ? ua : // Passed user-agent string\n ((NAVIGATOR && NAVIGATOR.userAgent) ? NAVIGATOR.userAgent : // navigator.userAgent\n (headers && headers[USER_AGENT] ? headers[USER_AGENT] : // User-Agent from passed headers\n EMPTY)), // empty string\n\n httpUACH = new UACHData(headers, true),\n regexMap = extensions ? \n extend(defaultRegexes, extensions) : \n defaultRegexes,\n\n createItemFunc = function (itemType) {\n if (itemType == UA_RESULT) {\n return function () {\n return new UAItem(itemType, userAgent, regexMap, httpUACH)\n .set('ua', userAgent)\n .set(UA_BROWSER, this.getBrowser())\n .set(UA_CPU, this.getCPU())\n .set(UA_DEVICE, this.getDevice())\n .set(UA_ENGINE, this.getEngine())\n .set(UA_OS, this.getOS())\n .get();\n };\n } else {\n return function () {\n return new UAItem(itemType, userAgent, regexMap[itemType], httpUACH)\n .parseUA()\n .get();\n };\n }\n };\n \n // public methods\n setProps.call(this, [\n ['getBrowser', createItemFunc(UA_BROWSER)],\n ['getCPU', createItemFunc(UA_CPU)],\n ['getDevice', createItemFunc(UA_DEVICE)],\n ['getEngine', createItemFunc(UA_ENGINE)],\n ['getOS', createItemFunc(UA_OS)],\n ['getResult', createItemFunc(UA_RESULT)],\n ['getUA', function () { return userAgent; }],\n ['setUA', function (ua) {\n if (isString(ua))\n userAgent = ua.length > UA_MAX_LENGTH ? trim(ua, UA_MAX_LENGTH) : ua;\n return this;\n }]\n ])\n .setUA(userAgent);\n\n return this;\n }\n\n UAParser.VERSION = LIBVERSION;\n UAParser.BROWSER = enumerize([NAME, VERSION, MAJOR, TYPE]);\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 export {UAParser};"],"names":["Object","value","_export","target","all","name","defineProperty","enumerable","get","exports","getImageProps","default","_default","_interop_require_default","require","_getimgprops","_imagecomponent","_imageloader","_","props","getImgProps","imgProps","defaultLoader","imgConf","process","key","entries","undefined","Image","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","CONSOLE","MOBILE","TABLET","SMARTTV","WEARABLE","EMBEDDED","USER_AGENT","BRANDS","FORMFACTORS","FULLVERLIST","PLATFORM","PLATFORMVER","BITNESS","CH_HEADER","CH_HEADER_FULL_VER_LIST","CH_HEADER_ARCH","CH_HEADER_BITNESS","CH_HEADER_FORM_FACTORS","CH_HEADER_MOBILE","CH_HEADER_MODEL","CH_HEADER_PLATFORM","CH_HEADER_PLATFORM_VER","CH_ALL_VALUES","UA_BROWSER","UA_DEVICE","UA_ENGINE","UA_RESULT","AMAZON","APPLE","ASUS","BLACKBERRY","GOOGLE","HUAWEI","LENOVO","MICROSOFT","MOTOROLA","SAMSUNG","SHARP","SONY","XIAOMI","ZEBRA","PREFIX_MOBILE","SUFFIX_BROWSER","CHROME","CHROMECAST","FIREFOX","OPERA","FACEBOOK","SOGOU","WINDOWS","NAVIGATOR","isWindow","window","navigator","NAVIGATOR_UADATA","userAgentData","extend","defaultRgx","extensions","mergedRgx","extraRgx","isExtensions","i","j","concat","k","length","enumerize","arr","enums","toUpperCase","has","str1","str2","lowerize","isString","indexOf","obj","deep","prop","test","val","itemListToArray","header","tokens","strip","split","token","trim","brand","version","str","toLowerCase","majorize","setProps","propName","pattern","replace","stripQuotes","len","substring","rgxMapper","ua","arrays","p","q","matches","match","regex","exec","call","strMapper","map","hasOwnProperty","windowsVersionMap","formFactorsMap","defaultRegexes","browser","cpu","device","engine","EDGE","os","defaultProps","init","isIgnore","isIgnoreRgx","toString","createIData","item","itemType","init_props","is_ignoreProps","is_ignoreRgx","toString_props","IData","prototype","getItem","withClientHints","getHighEntropyValues","then","res","setCH","UACHData","parseCH","withFeatureCheck","detectFeature","is","strToCheck","EMPTY","cb","that","IDataResolve","resolveData","uach","isHttpUACH","UAItem","rgxMap","uaCH","data","set","ch","userAgent","brave","isBrave","standalone","maxTouchPoints","detect","parseUA","ff","prevName","brands","brandName","brandVersion","archName","idx","osName","osVersion","parseInt","parse","UAParser","headers","getResult","httpUACH","regexMap","createItemFunc","getBrowser","getCPU","getDevice","getEngine","getOS","setUA","BROWSER","CPU","DEVICE","ENGINE","OS"],"sourceRoot":""}